2011-10-20 47 views
2

我試圖將字符串類型的參數轉換爲日期時間。我使用的dateUtil庫Python DateUtil將字符串轉換爲日期和時間

from dateutil import parser 
myDate_string="2001/9/1 12:00:03" 
dt = parser.parse(myDate_string,dayfirst=True) 
print dt 

每次運行這段時間我得到

2001-09-01 12點00分03秒

不管我是否有dayfirst集因爲真實或年份第一次被設置爲假。理想情況下,我只想以DD-MM-YYYY HH:MM:SS的格式輸入日期。我不想要任何幻想。我願意使用日期時間庫,但這對我來說似乎沒有任何作用。任何人都可以給出簡單的expamples如何將字符串轉換爲具有明確格式的日期時間,我是一個noob,所以最基本的例子都是我所需要的。我正在使用Python 2.7

回答

7

您遇到的問題是,你傳遞給parser.parse任何參數隻影響字符串是如何解析的,隨後的對象不打印方式。

parser.parse返回一個datetime對象 - 當你打印它時,它只會使用datetime的默認__str__方法。如果您用

print dt.strftime("%d-%m-%Y %H:%M:%S") 

替換您的最後一行,它將按預期工作。

3

標準庫(內置)datetime庫可以輕鬆地完成此操作。

from datetime import datetime 

my_date_string = "2001/9/1 12:00:03" 
d = datetime.strptime(my_date_string, "%Y/%m/%d %H:%M:%S") 
print d.strftime("%d-%m-%Y %H:%M:%S") 
+0

謝謝。我對此感到沮喪。您的解決方案對我的用例來說是最合適的。然而,下面的答案使用dateutil庫更好地解答了答案。非常感謝。 – user595985

相關問題