import time
from datetime import datetime
1. t1 = datetime.now()
得到的是 datetime.datetime 类型。
2. t2 = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
得到的是 str 类型,不想要的部分(例如毫秒)可以去掉。
1. datetime.strftime('%Y-%m-%d %H:%M:%S.%f')
可以将 datetime.datetime 类型转换为 str 类型。 参数为要转换成的格式。
2. datetime.strptime(t2, '%Y-%m-%d %H:%M:%S.%f')
可以将 str 类型转换为 datetime.datetime 类型。 第一个参数为要转换的时间,第二个参数为该时间的格式。
如果时间的格式填写错误,则会报错:
3. 更改 str 类型时间的显示格式:
t1 = "2020-1-1 12:30:00"
timeArray = datetime.strptime(t, "%Y-%m-%d %H:%M:%S") # 首先转换成 datetime.datetime 类型
t2 = t1.strftime("%Y/%m/%d %H:%M:%S", timeArray) # 然后再转回 str 类型
1. str时间 转 秒级时间戳:
t1 = "2020-1-1 12:30:00"
timeArray = datetime.strptime(t, "%Y-%m-%d %H:%M:%S") # 首先转换成 datetime.datetime 类型
t2 = t1.strftime("%Y/%m/%d %H:%M:%S", timeArray) # 然后再转回 str 类型
timeStamp = int(time.mktime(timeArray))
2. str时间 转 毫秒级时间戳:
t1 = "2020-1-1 12:30:00.123" # 首先时间本身得是毫秒级的
timeArray = datetime.strptime(t, "%Y-%m-%d %H:%M:%S.%f") # 然后转换成 datetime.datetime 类型
timeStamp = int(time.mktime(timeArray.timetuple()) * 1000.0 + timeArray.microsecond / 1000.0)
3. 时间戳 转 str时间:
timeStamp = 1608712000
timeArray = time.localtime(timeStamp) # 或者datetime.fromtimestamp(timeStamp)
t = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) # 或者timeArray.strftime("%Y-%m-%d %H:%M:%S")