python:datetime strftime无法正常工作

时间:2015-04-22 04:02:31

标签: python datetime

我正在尝试将日期时间打印到特定格式的文件中,因为我使用strftime函数格式化了datetime对象,如下所示:

hFile = open("Test.csv", 'w')
for str in datelist:
   splitStr = str.split("_")
   dateTime = datetime.datetime(int(splitStr[0]), int(splitStr[1]), int(splitStr[2]), int(splitStr[3]), int(splitStr[4]), int(splitStr[6]))
   hFile.write(dateTime.strftime('%H:%M %d/%m/%Y'))

这对于某些情况很有效,并以正确的格式打印,但在某些情况下,它会按以下格式打印:

>1/4/2013 12:45

而不是

>12:45 1/04/2013

但是当我这样做时:

>dateTime.strftime('%H %d/%m/%Y')

在某些情况下,它不会切换时间和日期,并以正确的格式打印所有情况。知道为什么会这样吗?

一个重要的观察: 当我删除:时,一切正常。所以,下面的命令工作正常。现在这让我更加困惑。

>dateTime.strftime('%H %M %d/%m/%Y')

完美无缺。知道将:放在strftime中会出现什么问题?

感谢。

1 个答案:

答案 0 :(得分:0)

我创建了一个似乎有效的等效样本。

from datetime import datetime
a = datetime.datetime.now()
a.strftime('%H:%M %d/%m/%Y')

>>> '11:04 22/04/2015'