1. 字符串转换为时间类型
>>> print datetime.datetime.strptime("2021-07-09 15:50:59", '%Y-%m-%d %H:%M:%S')
2021-07-09 15:50:59
2.时间戳转换为指定的日期格式
通过datetime.datetime.fromTimestamp()
方法
注意:
datetime.datetime.fromTimestamp()
需要以秒为单位的时间戳- 时间戳整数位一般长度为10位,单位为秒;若超过10位,单位非秒:比如毫秒:13位,微妙:16位
示例如下
>>> import time
>>> t = time.time()
>>> print t
1625823160.79
>>> >>> print int(t) # 秒级时间戳
1625823160
>>> print len(str(int(t))) # 秒级时间戳
10
>>> print int(t*1000) # 毫秒级时间戳
1625823160794
>>> print len(str(int(t*1000))) # 毫秒级时间戳
13
>>> print int(t*1000000) # 微秒级时间戳
1625823160794828
>>> print len(str(int(t*1000000))) # 微秒级时间戳
16
>>> print datetime.datetime.fromtimestamp(int(t))
2021-07-09 17:32:40
>>> print datetime.datetime.fromtimestamp(t)
2021-07-09 17:32:40.794828
3. 几天前/后的时间
>>> import datetime
>>> now = datetime.datetime.now()
>>> day_delta = 1
>>> yesterday_str = str(now + datetime.timedelta(days=-day_delta))[:10]
>>> print now
2021-07-09 17:23:50.685756
>>> print yesterday_str
2021-07-08
>>> tomorrow_str = str(now + datetime.timedelta(days=day_delta))[:10]
>>> print tomorrow_str
2021-07-10
4. 求时间差的两种方法
方法一
>>> print (datetime.datetime.strptime("2021-07-09 15:50:59", '%Y-%m-%d %H:%M:%S') - datetime.datetime.strptime("2021-07-08 12:30:49", '%Y-%m-%d %H:%M:%S'))
1 day, 3:20:10
>>> print (datetime.datetime.strptime("2021-07-09 15:50:59", '%Y-%m-%d %H:%M:%S') - datetime.datetime.strptime("2021-07-08 12:30:49", '%Y-%m-%d %H:%M:%S')).seconds
12010
方法二
>>> import time
>>> t = time.time()
>>> t2 = time.time()
>>> print datetime.datetime.fromtimestamp(t)
2021-07-09 17:32:40.794828
>>> print datetime.datetime.fromtimestamp(t2)
2021-07-09 17:52:32.658307
>>> t2 - t
1191.8634791374207