2011-03-15 113 views
0

我希望能夠格式化日期時間對象,同時將它留作對象。我一直在努力做到這一點,但看起來效率不高。Python:格式化日期時間,同時將其留作日期時間對象

我的具體目標是到秒的額外的數字限制爲2。這是我現在怎麼做:

now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') 
now_frmt = datetime.datetime.strptime(now, '%Y-%m-%d %H:%M:%S') 

乾杯, JJ

+1

你能澄清嗎?格式化日期時間對象不應該改變對象本身; 'strftime'返回一個新的字符串,而'strptime'產生一個新的日期時間對象。你的意思是你想要它只存儲秒數的2位數(它已經做到了)?你指的是微秒? – 2011-03-16 00:00:57

回答

2

你可以這樣對減去關閉微秒:

now = datetime.datetime.now() 
now_frmt = now - datetime.timedelta(microseconds=now.microsecond) 

要四捨五入到最接近的第二個,你可以做到以下幾點:

now = datetime.datetime.now() 
delta = (0 if now.microsecond < 500000 else 1000000) - now.microsecond 
now_frmt = now + datetime.timedelta(microseconds=delta)