1、获取秒级时间戳与毫秒级时间戳、微秒级时间戳
import time import datetime t = time.time() print (t) #原始时间数据 print (int(t)) #秒级时间戳 print (int(round(t * 1000))) #毫秒级时间戳 print (int(round(t * 1000000))) #微秒级时间戳
返回
1499825149.257892 #原始时间数据 1499825149 #秒级时间戳,10位 1499825149257 #毫秒级时间戳,13位 1499825149257892 #微秒级时间戳,16位
2、获取当前日期时间
dt = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
dt_ms = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 含微秒的日期时间,来源 比特量化
print(dt)
print(dt_ms)
返回
2018-09-06 21:54:46 2018-09-06 21:54:46.205213
3、将日期转为秒级时间戳
dt = '2018-01-01 10:40:30' ts = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S"))) print (ts)
返回
1514774430
4、将秒级时间戳转为日期
ts = 1515774430
dt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts))
print(dt)
返回
2018-01-13 00:27:10
5、时间格式转成另一种时间格式
dt = '08/02/2019 01:00'
dt_new = datetime.datetime.strptime(dt, '%m/%d/%Y %H:%M').strftime('%Y-%m-%d %H:%M:%S')
print(dt_new)
返回
2019-08-02 01:00:00
6、转结构体时间struct_time
ta_dt = time.strptime("2018-09-06 21:54:46", '%Y-%m-%d %H:%M:%S') #日期时间转结构体
ta_ms = time.localtime(1486188476) #时间戳转结构体,注意时间戳要求为int,来源 比特量化
print(ta_dt)
print(ta_ms)
返回
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=6, tm_hour=21, tm_min=54, tm_sec=46, tm_wday=3, tm_yday=249, tm_isdst=-1) time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=14, tm_min=7, tm_sec=56, tm_wday=5, tm_yday=35, tm_isdst=0)
https://www.cnblogs.com/fangbei/p/python-time.html
1.简介
在编写代码时,往往涉及时间、日期、时间戳的相互转换。
2.示例
# 引入模块 import time, datetime
2.1 str类型的日期转换为时间戳
1 # 字符类型的时间 2 tss1 = '2013-10-10 23:40:00' 3 # 转为时间数组 4 timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S") 5 print timeArray 6 # timeArray可以调用tm_year等 7 print timeArray.tm_year # 2013 8 # 转为时间戳 9 timeStamp = int(time.mktime(timeArray)) 10 print timeStamp # 1381419600 11 12 13 # 结果如下 14 time.struct_time(tm_year=2013, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=283, tm_isdst=-1) 15 2013 16 1381419600
2.2 更改str类型日期的显示格式
1 tss2 = "2013-10-10 23:40:00"
2 # 转为数组
3 timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
4 # 转为其它显示格式
5 otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
6 print otherStyleTime # 2013/10/10 23:40:00
7
8 tss3 = "2013/10/10 23:40:00"
9 timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
10 otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
11 print otherStyleTime # 2013-10-10 23:40:00
2.3 时间戳转换为指定格式的日期
1 # 使用time
2 timeStamp = 1381419600
3 timeArray = time.localtime(timeStamp)
4 otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
5 print(otherStyleTime) # 2013--10--10 23:40:00
6 # 使用datetime
7 timeStamp = 1381419600
8 dateArray = datetime.datetime.fromtimestamp(timeStamp)
9 otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
10 print(otherStyleTime) # 2013--10--10 23:40:00
11 # 使用datetime,指定utc时间,相差8小时
12 timeStamp = 1381419600
13 dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
14 otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
15 print(otherStyleTime) # 2013--10--10 15:40:00
2.4 获取当前时间并且用指定格式显示
1 # time获取当前时间戳
2 now = int(time.time()) # 1533952277
3 timeArray = time.localtime(now)
4 print timeArray
5 otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
6 print otherStyleTime
7
8 # 结果如下
9 time.struct_time(tm_year=2018, tm_mon=8, tm_mday=11, tm_hour=9, tm_min=51, tm_sec=17, tm_wday=5, tm_yday=223, tm_isdst=0)
10 2018--08--11 09:51:17
11
12
13 # datetime获取当前时间,数组格式
14 now = datetime.datetime.now()
15 print now
16 otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S")
17 print otherStyleTime
18
19 # 结果如下:
20 2018-08-11 09:51:17.362986
21 2018--08--11 09:51:17
Python时间戳与日期转换详解
本文详细介绍了Python中如何获取秒级、毫秒级、微秒级时间戳,以及如何进行日期时间与时间戳之间的转换,包括日期转时间戳、时间戳转日期、时间格式的转换,并提供了相关示例。
627

被折叠的 条评论
为什么被折叠?



