赞
踩
在编写代码时,经常涉及时间、日期、时间戳的相互转换,这里汇总一下,用的是python3
用到的模块
import time, datetime
1、str类型的日期转换为时间戳
- # str类型的时间
- time1 = '2020-05-20 13:14:00'
- # 转为时间数组
- timeArray = time.strptime(time1, "%Y-%m-%d %H:%M:%S")
- print(timeArray) # 1381419600
- # timeArray可以调用tm_year等
- print(timeArray.tm_year) # 2020
- print(timeArray.tm_wday) # 2
-
- # 转为时间戳
- timeStamp = int(time.mktime(timeArray))
- print(timeStamp) # 1589951640
2、更改str类型日期的显示格式
- time2 = "2020-05-20 13:14:00"
- # 转为数组
- timeArray = time.strptime(time2, "%Y-%m-%d %H:%M:%S")
-
- # 转为其它显示格式
- otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
- print(otherStyleTime) # 2020/05/20 13:14:00
-
- otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
- print(otherStyleTime) # 2020-05-20 13:14:00
3、时间戳转换为指定格式的日期
- # 使用time
- timeStamp = 1589951640
- timeArray = time.localtime(timeStamp)
- otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
- print(otherStyleTime) # 2020-05-20 13:14:00
-
- # 使用datetime
- dateArray = datetime.datetime.fromtimestamp(timeStamp)
- otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
- print(otherStyleTime) # 2020-05-20 13:14:00
-
- # 使用datetime,指定utc时间,相差8小时
- dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
- otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
- print(otherStyleTime) # 2020-05-20 05:14:00
4、获取当前时间并且用指定格式显示
- # time获取当前时间戳
- now = int(time.time())
- timeArray = time.localtime(now)
- print(timeArray)
- otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
- print(otherStyleTime)
- # time.struct_time(tm_year=2020, tm_mon=5, tm_mday=21, tm_hour=8, tm_min=41, tm_sec=48, tm_wday=3, tm_yday=142, tm_isdst=0)
-
-
- # datetime获取当前时间,数组格式
- now = datetime.datetime.now()
- print(now)
- otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S")
- print(otherStyleTime)
参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。