2017年12月8日至2017年12月8日的日期转换为2017年12月7日的python版本
我正在尝试用python格式化日期时间,这就是我所尝试的:2017年12月8日至2017年12月8日的日期转换为2017年12月7日的python版本,python,datetime-format,strftime,mktime,Python,Datetime Format,Strftime,Mktime,我正在尝试用python格式化日期时间,这就是我所尝试的: import time datestr = "8-DEC-17" v=time.strptime(datestr,"%d-%b-%y") l = time.mktime(v) print(time.strftime("%d/%m/%y ", time.gmtime(l))) 此代码的输出为: 2017年12月7日哪一个不是我想要的 我期待:08/12/17您可以使用datetime,它稍微短一点,并提供您想要的结果: from d
import time
datestr = "8-DEC-17"
v=time.strptime(datestr,"%d-%b-%y")
l = time.mktime(v)
print(time.strftime("%d/%m/%y ", time.gmtime(l)))
此代码的输出为:
2017年12月7日哪一个不是我想要的
我期待:08/12/17您可以使用
datetime
,它稍微短一点,并提供您想要的结果:
from datetime import datetime
datetime.strptime(datestr, "%d-%b-%y").strftime("%d/%m/%y")
根据mktime()是localtime()
的反函数。因此,您需要使用localtime()
而不是gmtime()
来打印结果:
print(time.strftime(“%d/%m/%y”,time.localtime(l)))
输出
08/12/17
是,它可以工作!!!非常感谢。由于我是python新手,所以很难解决问题。@Divya:没问题,很乐意帮助:)我想是因为时区的关系。@Divya,欢迎使用@Divya,快乐编码:)如果您喜欢这个解决方案,可以向上投票。
from dateutil.parser import parse
datestr = "8-DEC-17"
dt = parse(datestr)
print(dt.strftime("%d/%m/%y"))