2012-11-26 11 views
3

我正在獲取使用以下代碼的時間,如果我打印此值我獲得月份,日期,年份以及H,M,S。我只需要MM/DD,YEAR ,我怎麼得到它?如何從strptime中獲得僅mm/dd /年

lastTime = datetime.datetime.strptime(timeStr, "%m/%d/%Y %H:%M:%S") 
    print lastTime 

回答

5

要打印的日期時間格式爲MM/DD,YEAR

print(lastTime.strftime('%m/%d,%Y')) 

如果你想在格式MM-DD-YEAR日期,用途:

print(lastTime.strftime('%m-%d-%Y')) 

還要注意lastTime是datetime.datetime對象。通過屬性可以訪問月份,日期和年份:

lastTime.month, lastTime.day, lastTime.year 
+0

我試圖用打印時間= lastTime.month + ' - ' + lastTime.day + ' - ' + lastTime.year並運行到錯誤類型錯誤:不支持的操作數類型( s)for +:'int'and'str' – user1795998

+0

'lastTime.month'是一個'int','-'是一個'str'。這就是你得到TypeError的原因。改爲使用'strftime'來代替。 – unutbu

0

將時間設置爲零的日期時間僅表示日期。

lastTime = lastTime.replace(hour=0, minute=0, second=0, microsecond=0) 
1

以及什麼@unutbu提到 - 你也可以利用str.format它結合到mix'n'match strftime和屬性DateTime對象的訪問的能力。

隨便舉個例子:

>>> '{0:%m%d%Y}-{0.month}'.format(dt) 
'11262012-11'