在编写代码时,往往涉及时间、日期、时间戳的相互转换,常用的几种,接下来概要说一下。
导入模块
# 导入模块
import time, datetime
1、str类型的日期转换为时间戳
import time,datetime
# 字符类型的时间
tss1 = '2019-10-31 11:40:00'
# 转为时间数组
timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
print(timeArray)
# timeArray可以调用tm_year等
print(timeArray.tm_year) # 2019
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp) # 1572493200
显示结果如下
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=31, tm_hour=11, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=304, tm_isdst=-1)
2019
1572493200
2、更改str类型日期的显示格式
import time,datetime
tss2 = "2019-10-31 11:40:00"
# 转为数组
timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
# 转为其它显示格式
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print (otherStyleTime) # 2019/10/31 11:40:00
tss3 = "2019/10/31 11:40:00"
timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print (otherStyleTime) # 2019-10-31 11:40:00
3、时间戳转换为指定格式的日期
import time,datetime
# 使用time
timeStamp = 1572493200
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
print (otherStyleTime) # 2019--10--31 11:40:00
# 使用datetime
timeStamp = 1572493200
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
print (otherStyleTime) # 2019--10--31 11:40:00
4、获取当前时间并且用指定格式显示
import time,datetime
# time获取当前时间戳
now = int(time.time()) # 1533952277
timeArray = time.localtime(now)
print(timeArray)
# time.struct_time(tm_year=2019, tm_mon=10, tm_mday=31, tm_hour=11, tm_min=45, tm_sec=56, tm_wday=3, tm_yday=304, tm_isdst=0)
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
print(otherStyleTime)
# 2019--10--31 11:45:56
# datetime获取当前时间,数组格式
now = datetime.datetime.now()
print(now)
# 2019-10-31 11:45:56.529454
otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S")
print(otherStyleTime)
# 2019--10--31 11:45:56