2015-04-22 51 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'