日期8-DEC-17到08/12/2017的转换为Python中的07/12/2017

时间:2018-08-16 06:01:49

标签: 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)))

此代码的输出是: 17/12/17 这不是我想要的

我期望: 17年8月12日

3 个答案:

答案 0 :(得分:1)

您可以使用datetime,它会短一些,并提供您想要的结果:

from datetime import datetime 
datetime.strptime(datestr, "%d-%b-%y").strftime("%d/%m/%y")

答案 1 :(得分:1)

根据https://docs.python.org/3/library/time.html#time.mktimemktime()localtime()的反函数。因此,您需要使用localtime()而不是gmtime()来打印结果:

print(time.strftime("%d/%m/%y ", time.localtime(l)))

输出08/12/17

答案 2 :(得分:0)

from dateutil.parser import parse
datestr = "8-DEC-17"
dt = parse(datestr)
print(dt.strftime("%d/%m/%y"))