2017年12月8日至2017年12月8日的日期转换为2017年12月7日的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

我正在尝试用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 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"))