2017-06-16 85 views
0

我試過下面的代碼:日期時間strptime在python

import datetime 
d = datetime.datetime.strptime("01/27/2012", "%m/%d/%Y") 
print(d) 

,輸出是:使用Linux Mint的

2012-01-27 00:00:00 

我':

[email protected] ~/pythonvault $ date 
Fri Jun 16 21:40:57 EEST 2017 

所以,問題是爲什麼Python代碼的輸出返回"%Y/%m/%d" (2012-01-27)而不是"%m/%d/%Y"格式的日期?

請注意,我使用python 2.7

任何幫助,將不勝感激。

+0

https://docs.python.org/2/library/datetime.html#datetime .datetime.isoformat – taras

+1

,因爲它是默認表示。你指定''「%m /%d /%Y」''僅用於解析,而不用於打印。要格式化日期時間,請使用''strftime''。 –

回答

3

你需要確保你提供相應的輸入

datetime.strptime(date_string,date_string_format).strftime(convert_to_date_string_format) 

要打印在指定的格式,你需要下面提供的日期格式。

import datetime 
d =datetime.datetime.strptime("01/27/2012","%m/%d/%Y").strftime('%m/%d/%Y') 
print d 

輸出:

01/27/2012 

>>Demo<<

0

由於敏銳的評論中指出,你使用您指定的格式解析日期時間對象。

strptime(...)海峽荷蘭國際集團P屁股時間。您已經指定了應該如何解釋字符串以初始化Datetime對象的格式,但該格式僅用於初始化。默認情況下,當您打印該日期時間對象時,您將得到str(DatetimeObjectInstance)在您的案例中,str(d))的表示形式。

如果你想有一個不同的格式,你應該使用海峽荷蘭國際集團˚F ORMAT 時間strftime(...)