datetime

警告
本文最后更新于 2020-10-20,文中内容可能已过时。

pythondatetime模块包,看看怎么来使用!

获取当前时间

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-%dT%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
0%