警告
本文最后更新于 2020-10-20,文中内容可能已过时。
python
的datetime
模块包,看看怎么来使用!
获取当前时间
1
now_time = datetime . datetime . now ()
当前时间减去一天 获得昨天当前时间
1
yes_time = now_time + datetime . timedelta ( days =- 1 )
格式化输出
1
2
yes_time_str = yes_time . strftime ( '%Y-%m- %d %H:%M:%S' )
# 2017-11-01 22:56:02
计算两个时间之间差值
1
2
3
4
now_time = datetime . datetime . now ()
now_time = now_time . strftime ( '%Y-%m- %d %H:%M:%S' )
d1 = datetime . datetime . strptime ( '2017-10-16 19:21:22' , '%Y-%m- %d %H:%M:%S' )
d2 = datetime . datetime . strptime ( now_time , '%Y-%m- %d %H:%M:%S' )
间隔天数
1
2
day = ( d2 - d1 ) . days
#17
间隔秒数
1
2
second = ( d2 - d1 ) . seconds
#13475 注意这样计算出的秒数只有小时之后的计算额 也就是不包含天之间差数
将python的datetime转换为unix时间戳
1
2
3
dtime = datetime . datetime . now ()
time . mktime ( dtime . timetuple ())
#1509636609.0
将unix时间戳转换为python 的datetime
1
2
times = datetime . datetime . fromtimestamp ( 1509636585.0 )
#2017-11-02 23:29:45
解决UTC转换为东八区时间
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信中,为统一而普遍使用一个标准时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。UTC与GMT含义完全相同。北京时区是东八区,领先UTC 8个小时。所以将UTC装换成北京时间时,需要加上8小时。
1
2
3
4
5
6
7
import datetime
origin_date_str = "2019-07-26T08:20:54Z"
utc_date = datetime . datetime . strptime ( origin_date_str , "%Y-%m- %d T%H:%M:%SZ" )
local_date = utc_date + datetime . timedelta ( hours = 8 )
local_date_str = datetime . datetime . strftime ( local_date , '%Y-%m- %d %H:%M:%S' )
print ( local_date_str ) # 2019-07-26 16:20:54