Pythonでタイムゾーン
EC2上で動くDjangoアプリケーションでタイムゾーンをAsia/Tokyoに設定してるのにうまく日本時間に変換して表示してくれませんでした。どう見てもUTCです。それを日本時間に直した時の備忘録
まず、pytzというモジュールをインストールする。
$ easy_install pytz
DateTime型のオブジェクトのタイムゾーンがUTCになっているようだったので、それを日本のタイムゾーンに変換します。
import pytz fmt = '%Y-%m-%d %H:%M:%S' # dtが問題のdatetime型オブジェクト print dt.strftime(fmt) # 2010-06-13 13:55:12 utc = pytz.utc utc_dt = utc.localize(dt) jpn_dt = utc_dt.astimezone(pytz.timezone('Asia/Tokyo')) print jpn_dt.strftime(fmt) # 2010-06-13 21:55:12
もし、Asia/Tokyoの時刻をAmerica/Los_Angelesに変換したかったら
import pytz jpn = pytz.timezone('Asia/Tokyo') jpn_dt = jpn.localize(dt) los_dt = jpn_dt.astimezone(pytz.timezone('America/Los_Angeles'))