python3 中时间戳、时间、日期的转换和加减操作
1.当前时间戳转换为指定格式的日期
#-*-coding:utf-8-*- #@Time:2019/5/3110:56 #@Author:甄超锋 #@Email:4535@sohu.com #@File:test.py #@Software:PyCharm importdatetime importtime #使用time timeStamp=time.time()#1559286774.2953627 timeArray=time.localtime(timeStamp) otherStyleTime=time.strftime("%Y-%m-%d%H:%M:%S",timeArray) print(otherStyleTime)#2019-05-3115:12:54 #使用datetime timeStamp=time.time()#1559286774.2953627 dateArray=datetime.datetime.utcfromtimestamp(timeStamp) otherStyleTime=dateArray.strftime("%Y-%m-%d%H:%M:%S") print(otherStyleTime)#2019-05-3107:12:54
2.把字符串类型的日期转换为时间戳
#-*-coding:utf-8-*- #@Time:2019/5/3110:56 #@Author:甄超锋 #@Email:4535@sohu.com #@File:test.py #@Software:PyCharm importtime #字符类型的时间1 tss1='2019-05-3115:12:54' #转为时间数组 timeArray=time.strptime(tss1,"%Y-%m-%d%H:%M:%S") print(timeArray) #timeArray可以调用tm_year等 print(timeArray.tm_year)#2019 #字符类型的时间2 tss2="FriJun2113:22:37+08002019" timeArray=time.strptime(tss2,"%a%b%d%H:%M:%S%z%Y") #timeArray可以调用tm_year等 print(timeArray.tm_year)#2019 #转为时间戳 timeStamp=int(time.mktime(timeArray)) print(timeStamp)#1559286774
3.更改str类型日期的显示格式
#-*-coding:utf-8-*- #@Time:2019/5/3110:56 #@Author:甄超锋 #@Email:4535@sohu.com #@File:test.py #@Software:PyCharm importtime importdatetime tss2="2019-05-3115:12:54" #转为数组 timeArray=time.strptime(tss2,"%Y-%m-%d%H:%M:%S") #转为其它显示格式 otherStyleTime=time.strftime("%Y/%m/%d%H:%M:%S",timeArray) print(otherStyleTime)#2019/05/3115:12:54 tss3="2019/05/3115:12:54" timeArray=time.strptime(tss3,"%Y/%m/%d%H:%M:%S") otherStyleTime=time.strftime("%Y-%m-%d%H:%M:%S",timeArray) print(otherStyleTime)#2019-05-3115:12:54 tss4="2019/05/3115:12:54" otherStyleTime=datetime.datetime.strptime(tss4,"%Y/%m/%d%H:%M:%S").strftime("%Y-%m-%d%H:%M:%S") print(otherStyleTime)#2019-05-3115:12:54
4.日期的加减
两个日期的加减,计算间隔多少天。
#-*-coding:utf-8-*- #@Time:2019/5/3110:56 #@Author:甄超锋 #@Email:4535@sohu.com #@File:test.py #@Software:PyCharm importdatetime d1=datetime.datetime.strptime('2019-05-3115:12:54','%Y-%m-%d%H:%M:%S') d2=datetime.datetime.strptime('2019-05-2215:12:54','%Y-%m-%d%H:%M:%S') delta=d1-d2 print(delta.days)#9间隔9天
今天3天后的日期。
#-*-coding:utf-8-*- #@Time:2019/5/3110:56 #@Author:甄超锋 #@Email:4535@sohu.com #@File:test.py #@Software:PyCharm importdatetime now=datetime.datetime.now() delta=datetime.timedelta(days=3) n_days=now+delta print(n_days.strftime('%Y-%m-%d%H:%M:%S'))#2019-06-0315:38:32
今天3天前的日期。
#-*-coding:utf-8-*- #@Time:2019/5/3110:56 #@Author:甄超锋 #@Email:4535@sohu.com #@File:test.py #@Software:PyCharm importdatetime now=datetime.datetime.now() delta=datetime.timedelta(days=3) n_days=now-delta print(n_days.strftime('%Y-%m-%d%H:%M:%S'))#2019-05-2815:39:33
在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。
构造方法:
datetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)
所有的参数都有默认值0,这些参数可以是int或float,正的或负的。
可以通过timedelta.days、tiemdelta.seconds等获取相应的时间值。
timedelta类的实例,支持加、减、乘、除等操作,所得的结果也是timedelta类的实例。
由于tiemdelta最高只能减去天数所以减月份要用另一个方法下面的是现在的时间减去3个月得到3个月前的日期
importdatetime importdateutil.relativedelta now_date_time=datetime.datetime.now() month_date=now_date_time+dateutil.relativedelta.relativedelta(months=-3)
日期时间格式化(带毫秒)
importdatetime
print(datetime.datetime.now().strftime('%Y-%m-%d%H:%M:%S.%f'))#2019-01-2811:09:01.529864
以上这篇python3中时间戳、时间、日期的转换和加减操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。