工作当中经常会遇到时间或者日期的计算和格式转换,因此时间模块就显得非常重要,Python内置提供了 time和 datetime和 calendar模块用来格式化日期和时间.
time模块Python中时间可以概括为三种类型: - float浮点数,即时间戳
- struct tuple 时间元组
- str字符串,规定格式表示
时间戳介绍每个时间戳都以自从1970年1月1日午夜(历元)到当前经过了多长时间来表示,时间间隔是以秒为单位的浮点小数. 实例
[Python] 纯文本查看 复制代码 import time
print('本地时间戳: ', time.time())
# 本地时间戳: 1562584408.3060238
时间戳单位最适于做日期运算,但是1970年之前的日期就无法以此表示了.太遥远的日期也不行, UNIX和 Windows只支持到2038年.
时间元组格式
具体实例
[Python] 纯文本查看 复制代码 import time
# 时间元组格式
print('本地时间为: ', time.localtime(time.time()))
输出结果:
[Python] 纯文本查看 复制代码 本地时间为: time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=19, tm_min=28, tm_sec=28, tm_wday=0, tm_yday=189, tm_isdst=0)
2种时间字符串格式第一种[Python] 纯文本查看 复制代码 2019-07-08 19:32:07 # 正常格式
第二种
[Python] 纯文本查看 复制代码 Mon Jul d 19:32:2019 # 英文格式
几种时间格式的转换
时间戳转时间元组
[Python] 纯文本查看 复制代码 import time
# 第一种: 结果是UTC时间
ret1 = time.gmtime()
# 第二种: 结果是本地时间(UTC+8)
ret2 = time.localtime()
print(ret1)
print(ret2)
输出结果
[Python] 纯文本查看 复制代码 time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=11, tm_min=44, tm_sec=46, tm_wday=0, tm_yday=189, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=19, tm_min=44, tm_sec=46, tm_wday=0, tm_yday=189, tm_isdst=0)
时间元组转时间戳
[Python] 纯文本查看 复制代码 import time
# 1.获取当前时间元组格式
struct_time = time.localtime()
# 2.转时间戳
print(time.mktime(struct_time))
输出格式
[Python] 纯文本查看 复制代码 1562586423.0
时间元组转字符串(format_time)
[Python] 纯文本查看 复制代码 import time
# 1. 获取时间元组
struct_time = time.localtime()
# 2. 转换字符串格式
print(time.strftime('%Y-%m-%d %H:%M:%S', struct_time))
print(time.strftime('%a %b %d %H:%M:%Y', struct_time))
print(time.asctime(struct_time))
输出
[Python] 纯文本查看 复制代码 2019-07-08 19:52:21
Mon Jul 08 19:52:2019
Mon Jul 8 19:52:21 2019
时间字符串转换为时间戳
[Python] 纯文本查看 复制代码 import time
t = '2019-07-08 19:52:21'
# 1. 转时间元组
struct_time = time.strptime(t, '%Y-%m-%d %H:%M:%S')
# 2. 转时间戳
print(time.mktime(struct_time))
输出
[Python] 纯文本查看 复制代码 1562586741.0
|