python日期与时间戳的各种转换示例
官方文档的示例中没有我们习惯的日期格式,查了很多博客转换日期和时间戳也都是大概的能得到结果的方式,常将datetime和time两个模块混用,个人觉得时间格式化不应该这么麻烦,还得用两个模块来支持?故而翻遍了源码,总结以下常用的几种日期和时间戳的转换方式。
以下主要有三个元素(时间字符串,格式,Unix时间戳),可将时间字符串转为另一种时间格式,或将时间字符串转为时间戳,或将时间戳转为时间字符串。
datetime和time两个模块,任意一个都能转换完成。
以下两个模块均列出示例:
#coding:utf-8 fromdatetimeimportdatetime importtime s='2019-06-0716:30:10' f='%Y-%m-%d%H:%M:%S' s2='FriJun716:30:102019' f2='%c' //时间字符串转时间戳,时间字串s和format对应 //int(t)转为整型 t=datetime.strptime(s,f).timestamp()#1559856210.0 t2=time.mktime(time.strptime(s,f))#1559856210.0 t3=time.mktime(time.strptime(s2,f2))#1559856210.0 t4=datetime.strptime(s2,f2).timestamp()#1559856210.0 t5=datetime.strptime('2019-06-07','%Y-%m-%d').timestamp()#1559836800.0 t6=datetime.strptime('06/07/19','%x').timestamp()#1559836800.0(06/07/2019,'%m/%d/%Y') print(t,t2,t3,t4,t5,t6,"\n") ut=1559896210 #时间戳转为时间字符串 d=datetime.fromtimestamp(ut)#2019-06-0716:30:10 d2=time.strftime(f,time.localtime(ut))#2019-06-0716:30:10 d3=time.ctime(ut)#FriJun716:30:102019 d4=datetime.fromtimestamp(ut).ctime()#FriJun716:30:102019 d5=time.strftime('%Y-%m-%d',time.localtime(ut))#2019-06-07(05:23:30,%H:%M:%S) d6=datetime.fromtimestamp(ut).date()#2019-06-07 d7=datetime.fromtimestamp(ut).time()#16:30:10 d8=time.strftime('%x',time.localtime(ut))#06/07/19 d9=time.strftime('%X',time.localtime(ut))#16:30:10 dd=datetime.fromtimestamp(ut).strftime('%x')#06/07/19[(16:30:10,%X),(FriJun716:30:102019,%c)] print(d,d2,d3,d4,d5,d6,d7,d8,d9,dd,"\n") #格式转换 #将2019-06-0716:30:10转为FriJun716:30:102019 #(16:30:10,%X) transf=datetime.strptime(s,f).strftime(f2) #将FriJun716:30:102019转为2019-06-07 #(2019-06-0716:30:10,%Y-%m-%d%H:%M:%S) transf2=datetime.strptime(s2,f2).strftime('%Y-%m-%d') #将2019-06-0716:30:10转为FriJun716:30:102019 #(2019-06-0716:30:10,%Y-%m-%d%H:%M:%S) transf3=time.strftime('%c',time.strptime(s,f)) #将FriJun716:30:102019转为2019-06-0716:30:10 transf4=time.strftime(f,time.strptime(s2,f2)) print(transf,transf2,transf3,transf4)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。