2011-03-15 73 views
2

我正在使用Python的Google應用引擎。帶Python時區的日期時間字符串?

我已經在數據庫中存儲了一個日期時間對象,並提取它並應用時區,並使用模板保存它。結果是"2011-03-15 16:54:24.398503+09:00",但我想要的是:"2011-03-16 01:54:24"(時區應用的字符串沒有毫秒 - 注意那天改變了)。

我該怎麼做?

回答

2

一旦你有日期時間對象,使用strftime,就像這樣;

from datetime import datetime 
datetime.now().strftime('%Y-%m-%d %H:%M:%S') 

http://docs.python.org/release/2.6.6/library/datetime.html#strftime-and-strptime-behavior

+0

strftime是否應用時區?我只是嘗試,但似乎本地時間不適用。我得到「2011-03-15 16:54:24」而不是「2011-03-16 01:54:24」 – SeniorLee 2011-03-15 17:11:07

+2

datetime.now()*是* localtime。 datetime.utcnow()返回符合UTC的表單。 strftime只是指定該日期時間對象的部分輸出。 如果你需要一個特定的地區時區,你應該這樣做, import pytz datetime.now(pytz.timezone('Africa/Casablanca'))。strftime('%Y-%m-%d%H: %M:%S') – 2011-04-26 15:27:06

0

使用strftime的鼓勵,但要確保你的本地時間是正確的。這應該是你的應用/網站中的一個設置,假​​設你使用的是django,或者你可能需要手動執行此操作

+0

是的,我正在使用django。但是當地時間你的意思是否正確? – SeniorLee 2011-03-15 16:52:05

+0

默認時區是chicago,settings.py中有一行可以設置您的時區 – theheadofabroom 2011-03-15 17:57:14