2015-04-22 47 views
0

我想打印的日期时间到一个文件中以特定的格式,由于我所使用如下strftime函数格式化DateTime对象:蟒蛇:日期时间的strftime无法正常工作

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有什么问题?

谢谢。

+0

如何创建日期时间对象?你可以发布你正在做的一些代码示例吗? – skar

+0

@skar如果您需要更多信息,请让我知道。 –

+0

你能否提供'datelist'来让你的例子独立? – tdihp

回答

0

我创建了一个似乎可以工作的等效样本。

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

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