python时间模块方法_python 时间模块小结

python有两个重要的时间模块,分别是time和datetime

time模块

表示时间的几种方法

时间元组

time.struct_time(

tm_year=2016, tm_mon=7, tm_mday=21,

tm_hour=22, tm_min=32, tm_sec=51,

tm_wday=3, tm_yday=203, tm_isdst=0

)

# 此元组有9个元素(年,月,日,时,分,秒,周几,年中第几天,是否夏令时)

时间戮

距离1970-01-01 00:00:00此时间的总秒数

格式化显示

(‘%Y-%m-%d %X')等等

英文显示

'Mon Jan 26 00:52:24 1970'

time模块的方法

time模块关系图

举几个例子

先设一个时间元组, 9个参数,最后3位可为0

t = (2016,7,21,22,47,45,0,0,0)

#给定时间求时间戮:

In [21]: time.mktime(t)

Out[21]: 1469112465.0

#求当前时间戮

In [23]: time.time()

Out[23]: 1469112643.2187786

#按指定格式显示时间

In [25]: time.strftime('%x %X',t)

Out[25]: '07/21/16 22:47:45'

#给定一个时间字符串,按给定格式拆分成数组

In [26]: str='2016-04-23 12:34:54'

In [27]: time.strptime(str,'%Y-%m-%d %X')

Out[27]: time.struct_time(tm_year=2016, tm_mon=4, tm_mday=23, tm_hour=12, tm_min=34, tm_sec=54, tm_wday=5, tm_yday=114, tm_isdst=-1)

In [28]: #英文显示

In [29]: time.asctime(t)

Out[29]: 'Mon Jul 21 22:47:45 2016'

time.sleep(秒) 延时给定秒数

datetime模块

此模块下有几个子模块:

date: 处理年月日,

time: 处理分秒时,微秒

datetime: 处理年月日,时分秒,微秒,以此为主讲一讲

datetime子模块的方法

datetime子模块也有个时间元组,是7个元素,可省略,省略的话默认为0

datetime子模块说明图

(图中有个小错误,时间元组是7个元素)

举几个例子

In [32]: from datetime importdatetime

In [33]: #获取当前时间

In [34]: datetime.now()

Out[34]: datetime.datetime(2016, 7, 21, 23, 12, 51, 572284)

In [35]: datetime.today()

Out[35]: datetime.datetime(2016, 7, 21, 23, 13, 1, 458328)

In [36]: #获取零时区时间

In [37]: datetime.utcnow()

Out[37]: datetime.datetime(2016, 7, 21, 15, 13, 40, 754435)

In [38]: #获取当前时间戮

In [39]: a=datetime.now()

In [40]: a.timestamp()

Out[40]: 1469114156.388418

In [42]: #设置一个时间对象

In [43]: d=datetime(2016,7,21,22,23,15)

In [44]: #自定义格式显示

In [45]: d.strftime('%x %X')

Out[45]: '07/21/16 22:23:15'In [46]: #显示英文格式

In [47]: d.ctime()

Out[47]: 'Thu Jul 21 22:23:15 2016'In [48]: #显示日历(年,年中第几周,周几)

In [49]: d.isocalendar()

Out[49]: (2016, 29, 4)

datetime子模块单位时间间隔:datetime.resolution=1微秒。

-- date子模块的时间间隔为1天  date.resolution=1天

-- 时间间隔乘以一个数,表示间隔几天

In [50]: from datetime importdate

In [51]: #现在时间是

In [52]: date.today()

Out[52]: datetime.date(2016, 7, 21)

In [53]: #100天以前的日期是

In [54]: date.today()-date.resolution*100Out[54]: datetime.date(2016, 4, 12)

6个元素的时间元组可以转换成9个元素的时间元组,供time模块使用

In [56]: d

Out[56]: datetime.datetime(2016, 7, 21, 22, 23, 15)

In [57]: d.timetuple()

Out[57]: time.struct_time(tm_year=2016, tm_mon=7, tm_mday=21, tm_hour=22, tm_min=23, tm_sec=15, tm_wday=3, tm_yday=203, tm_isdst=-1)

时间格式化

%y 两位数的年份表示(00-99)%Y 四位数的年份表示(000-9999)%m 月份(01-12)%d 月内中的一天(0-31)%H 24小时制小时数(0-23)%I 12小时制小时数(01-12)%M 分钟数(00=59)%S 秒(00-59)%a 本地简化星期名称%A 本地完整星期名称%b 本地简化的月份名称%B 本地完整的月份名称%c 本地相应的日期表示和时间表示%j 年内的一天(001-366)%p 本地A.M.或P.M.的等价符%U 一年中的星期数(00-53)星期天为星期的开始%w 星期(0-6),星期天为星期的开始%W 一年中的星期数(00-53)星期一为星期的开始%x 本地相应的日期表示%X 本地相应的时间表示%Z 当前时区的名称%% %号本身

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值