Python日期时间Time模块实例详解


Posted in Python onApril 15, 2019

本文实例讲述了Python日期时间Time模块。分享给大家供大家参考,具体如下:

关于时间和日期模块

python程序能用很多方式处理日期和时间,转换日期格式是一种常见的功能。
python提供了一个time和calendar模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
python的time模块下有很多函数可以转换常见的日期格式。

Time模块

1.1 名词解释

UTC :格林威治天文时间,世界标准时间,在中国为UTC-8

DST:夏令时是一种节约能源而人为规定的时间制度,在夏季调快一小时.

1.2 时间的表示形式

1.时间戳

以整数或浮点型表示的是一个秒为单位的时间间隔,这个时间的基础值1970.1.1的零点开始算起

2.元组格式

采用python的数据结构表示,这个元组有9个整型内容,分别表示不同含义

year month day hours minutes seconds weekday Julia day flag[1 夏令时 -1 根据当前时间判断 0 正常表示]

3.格式化字符串

%Y 完整年份

时间格式

'''
%a 本地(local) 简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01-31)
%H 一天中的第几个小时(24小时制00-23)
%I 第几个小时(12小时制01-12)
%j 一年中的第几天(001-366)
%m 月份(01-12)
%M 分钟数(00-59)
%p 本地am或pm的相应符
%S 秒(01-60)
%U 一年中的星期数。(00-53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第0周
%w 一个星期中的第几天(0-6 0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00-99)
%Y 完整的年份
%z 时区的名字
%% '%'字符
'''
import time
time1 = time.time()
lt = time.localtime(time1)
st = time.strftime('''a: %a |A: %A |b: %b |B: %B |c: %c |d: %d
H: %H |I: %I |j: %j |m: %m |M: %M |p: %p
S: %S |U: %U |w: %w |W: %W |x: %x |X: %X
y: %y |Y: %Y |z: %z |%% ''',lt)
print(st)

输出:

a: Thu |A: Thursday |b: Apr |B: April |c: Thu Apr 12 17:15:19 2018 |d: 12
H: 17 |I: 05 |j: 102 |m: 04 |M: 15 |p: PM
S: 19 |U: 14 |w: 4 |W: 15 |x: 04/12/18 |X: 17:15:19
y: 18 |Y: 2018 |Z: +0800 |%

获取当前时间

1、time.clock()

以浮点数计算秒数,返回程序运行的时间。

print(time.clock())
time.sleep(2)
print(time.clock())

输出:

0.0
2.0007889054974255

print(time.clock())

输出:

4.665319322446344e-07

用处:可用来计算一段程序运行的时间。

import time
start = time.clock()
for cock in range(5,101,5):  # 公鸡
  for hen in range(3,101 - cock,3): #母鸡
    for chick in range(1,101 - cock - hen): #小鸡
      if cock // 5 + hen // 3 + chick * 3 == 100 and cock + hen + chick == 100:
        pass
end = time.clock()
time2 = end - start
print("方案二所花时间",time2)

输出:

方案二所花时间 0.0041665966868768296

2、time.sleep(seconds)

程序休眠seconds再执行下面的语句。单位s

3、time.time() 时间戳

返回一个浮点型数据

格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。 它的提出主要是为用户提供一份电子证据, 以证明用户的某些数据的产生时间。

time1 = time.time()
print(time1)

输出:

1523427779.9672592

4、time.gmtime(时间戳)

把时间戳转成格林尼治时间,返回一个时间元组

time1 = time.time()
gm = time.gmtime(time1)
print(gm)

输出:

time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=6, tm_min=22, tm_sec=59, tm_wday=2, tm_yday=101, tm_isdst=0)

5、time.localtime(时间戳)

把时间戳转成本地时间,返回一个时间元组。(如中国时区,加上8个小时)

time1 = time.time()
lm = time.localtime(time1)
print(lm)

输出:

time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=14, tm_min=22, tm_sec=59, tm_wday=2, tm_yday=101, tm_isdst=0)

6、time.mktime(时间元组)

把时间元组转成时间戳,返回一个浮点数。

lm2 = time.localtime(1523328000)
time2 = time.mktime(lm2)
print(time2)

输出:

1523328000.0

7、time.asctime(时间元组)

将时间元组转成一个字符串。

lm2 = time.localtime(1523328000)
st = time.asctime(lm2)
print(st)

输出:

Tue Apr 10 10:40:00 2018

8、time.ctime(时间戳)

将时间戳转成一个字符串。

time1 = time.time()
ct = time.ctime(time1)
print(ct)

输出:

Wed Apr 11 15:18:35 2018

9、time.strftime(format,时间元组)

将时间元组转成指定格式的字符串。

time1 = time.time()
lm = time.localtime(time1)
sct = time.strftime("%Y-%m-%d %X",lm)
print(sct)

输出:

2018-04-11 15:18:35

10、time.strptime(字符串,format)

将指定格式的字符串转成时间元组。

strp = time.strptime('2018-04-10 11:12:57',"%Y-%m-%d %X")
print(strp)

输出:

time.struct_time(tm_year=2018, tm_mon=4, tm_mday=10, tm_hour=11, tm_min=12, tm_sec=57, tm_wday=1, tm_yday=100, tm_isdst=-1)

11、获取凌晨零点到23:59的时间

now = time.time()
midnight = now - (now % 86400) + time.timezone
pre_midnight = midnight - 86400
now_midnight = midnight - 1
start_time = datetime.datetime.strptime(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(pre_midnight)),
                  "%Y-%m-%d %H:%M:%S")
end_time = datetime.datetime.strptime(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(now_midnight)),
                 "%Y-%m-%d %H:%M:%S")

PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:
http://tools.3water.com/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.3water.com/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.3water.com/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.3water.com/code/unixtime

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中使用pprint函数进行格式化输出的教程
Apr 07 Python
python实现井字棋游戏
Mar 30 Python
浅谈python抛出异常、自定义异常, 传递异常
Jun 20 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
Feb 08 Python
Python中作用域的深入讲解
Dec 10 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
Oct 30 Python
Python 元组拆包示例(Tuple Unpacking)
Dec 24 Python
Python如何实现FTP功能
May 28 Python
Python ConfigParser模块的使用示例
Oct 12 Python
python中uuid模块实例浅析
Dec 29 Python
Python中如何处理常见报错
Jan 18 Python
Python3.6中Twisted模块安装的问题与解决
Apr 15 #Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 #Python
Python Datetime模块和Calendar模块用法实例分析
Apr 15 #Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
Apr 15 #Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 #Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
Apr 15 #Python
10招!看骨灰级Pythoner玩转Python的方法
Apr 15 #Python
You might like
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
解析php常用image图像函数集
2013/06/24 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
浅谈php7的重大新特性
2015/10/23 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
简明 Python 基础学习教程
2007/02/08 Python
python中的列表推导浅析
2014/04/26 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
使用python进行拆分大文件的方法
2018/12/10 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
毕业生求职推荐信
2013/11/04 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
空气的环保标语
2014/06/12 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
Python绘制地图神器folium的新人入门指南
2021/05/23 Python