Python 日期和时间
Python 内置了 time 模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数。
1.时间戳
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示(东八区 从1970-01-01 08:00:00)。
Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳, 如下实例:
import time t = time.time() print(t)
输出结果:
1574301310.7428787
时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。
2.获取格式化时间
import time
t = time.strftime('%Y-%m-%d %H:%M:%S')
print(t)
打印结果:
2019-11-21 10:08:01
3.什么是时间元组?
很多Python函数用一个元组装起来的9组数字处理时间:
如何获取时间元组:
import time t = time.localtime() print(t)
打印结果:
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=21, tm_hour=10, tm_min=4, tm_sec=50, tm_wday=3, tm_yday=325, tm_isdst=0)

上述也就是struct_time元组。这种结构具有如下属性:

4.时间转化
1.时间元组(结构化时间)转化格式化(年月日时分秒)时间:
import time
t = time.localtime()
t2 = time.strftime('%Y-%m-%d %H:%M:%S', t)
print('t:', t)
print('t2:', t2)
打印结果:
t: time.struct_time(tm_year=2019, tm_mon=11, tm_mday=21, tm_hour=10, tm_min=16, tm_sec=28, tm_wday=3, tm_yday=325, tm_isdst=0) t2: 2019-11-21 10:16:28
2.一个数字转化格式化(年月日时分秒)时间:
import time
a = 1884382330
t = time.localtime(a)
t2 = time.strftime('%Y-%m-%d %H:%M:%S', t)
print('t:', t)
print('t2:', t2)
打印结果:
t: time.struct_time(tm_year=2029, tm_mon=9, tm_mday=18, tm_hour=7, tm_min=32, tm_sec=10, tm_wday=1, tm_yday=261, tm_isdst=0) t2: 2029-09-18 07:32:10
3.结构化时间转化时间戳:
import time
t = input('请输入格式化时间:')
struct_time = time.strptime(t, '%Y-%m-%d %H:%M:%S')
num = time.mktime(struct_time)
print(num)
输出结果:
请输入格式化时间:2019-11-12 10:2:1 1573524121.0