GoogleAppEngine で日本時間を扱う

GoogleAppEngineは世界時間なので、datetimeが-9時間されていたり、ちょっとやっかいですよね。

日本だけをターゲットにしたサービスの場合、日本時間DateTimeを使うための記述を下のように統一すると便利です。

"""
 ------------------------------------------------------
 時間を扱うテストコード
 from datetime import datetime, timedelta
 (一見変なインポート記述ですがこの書き方が必要です。)
 ------------------------------------------------------
"""
from datetime import datetime, timedelta

# 現在時間の取得方法
nowdate = datetime.now() + timedelta(hours=9)

# 特定時間の取得方法
targetdate = datetime(2010, 4, 22, 0, 0, 0)

これをデータモデルのDateTimePropertyに入れて、そのままput()すれば、
GoogleAppEngineのDataStoreViewer上でも、アプリ上でも、日本時間が表示されるので、難しいことを考えなくてよくなります。