Python - time模块总结

工作中总能用到time, datetime模块,多数时候用于时间日期不同格式间的转换。如果没有熟练掌握各函数用法,那么将不能快速解决问题。今天详细整理一下time模块的用法,有不当之处还请指正。

先上总结:

import time
time.time() # 返回当前时间戳
time.mktime(tupletime) # 接受时间元组,返回时间戳

time.localtime(secs) # 接收时间戳,返回时间元组
time.strptime(date_str,fmt) # 接收日期,返回时间元组

time.asctime(tupletime) # 接收时间元组,返回格式化日期
time.strftime(fmt,tupletime) # 接收时间元组,返回格式化日期

从上面可以看出,主要有三类数据:时间戳,时间元组,格式化日期。主要的操作就是三类数据间的转换。

下面结合实例来实践一下,彼此之前的转换。

1.当前时间戳

time.time() # 当前时间戳
>>>1533103691.808361

2. 当前时间元组

time.localtime() # 当前时间元组
>>>time.struct_time(tm_year=2018, tm_mon=8, tm_mday=1, tm_hour=14, tm_min=10, tm_sec=46, tm_wday=2, tm_yday=213, tm_isdst=0)

解释一下时间元组里参数意思:

tm_year : 当前年份, tm_mon : 当前月份, tm_mday :  当前月的日期,

tm_hour : 当前小时, tm_min : 当前分钟, tm_sec : 当前秒数,

tm_wday : 星期(从0开始), tm_yday : 一年中第几天, tm_isdst : 是否夏令时。

那么元组的参数有什么用呢,比如可以获取当前年份、月份、一年中第几天等。

time.localtime().tm_yday # 一年中第几天
>>>213
time.localtime().tm_year # 年份
>>>2018
time.localtime().tm_mon # 月份
>>>8

3.按0000-00-00 00:00:00显示当前日期时间

time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) # 当前日期时间
>>>'2018-08-01 14:24:08'

4.把指定日期时间转换成时间戳 - 按照日期形式补格式化参数

s = "Sat Mar 28 22:24:24 2016"
time.mktime(time.strptime(s,"%a %b %d %H:%M:%S %Y")) # 将指定日期转换成时间戳
>>>1459175064.0

s = '2018-05-20 14:32:29'
time.mktime(time.strptime(s,'%Y-%m-%d %H:%M:%S')) # 将指定日期转换成时间戳
>>>1526797949.0

5.把指定日期时间转成时间元组-  按照日期形式补格式化参数

s = '2018-05-20 14:32:29'
time.strptime(s,'%Y-%m-%d %H:%M:%S') # 转成时间元组
>>>time.struct_time(tm_year=2018, tm_mon=5, tm_mday=20, tm_hour=14, tm_min=32, tm_sec=29, tm_wday=6, tm_yday=140, tm_isdst=-1)

6.把指定时间戳转成格式化日期时间

time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(1526797949)) # 把时间戳转成格式化日期时间
>>>'2018-05-20 14:32:29'

7.获取指定日期时间两天后的日期时间 - 先获取时间戳,再计算两天后的时间戳,然后再转成格式化日期

s = '2018-05-20 10:32:29'
timestamp = time.mktime(time.strptime(s,'%Y-%m-%d %H:%M:%S')) # 获取时间戳
next_time = timestamp+3600*24*2 # 两天后的时间戳
time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(next_time)) # 获取格式化日期
>>>'2018-05-22 10:32:29'

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值