Это больше вопрос Python, чем вопрос GAE, если только у GAE нет какой-либо инфраструктуры, способствующей этому (я сделал быстрое сканирование, но не нашел ссылки).
По сути, вы хотитехранить дату / время в часовом поясе UTC (например, использовать datetime.datetime.utcnow) вместе с часовыми поясами пользователя, которые вы можете попытаться извлечь из пользовательских IP-адресов (используя GeoDjango, если это доступно в GAE, или pygeoip; вам нужна некоторая база геолокации, например: http://www.maxmind.com/app/geolitecity), или явным образом спросить пользователей об этом - у вас есть то преимущество, что вы можете запросить описательное название часового пояса, например «Европа / Варшава». Если вы запрашиваете только UTC + 2, то вы теряете любые указанияDST смещается.
Затем вы можете перейти от utc к желаемому часовому поясу, используя, например, pytz :
import pytz
local_tz = pytz.timezone(timezone_name)
return timestamp_utc.replace(tzinfo=pytz.utc).astimezone(local_tz).replace(tzinfo=None)
- где timestamp_utc
- это время и дата utc, чтовы хотите конвертировать, а timezone_name - это упомянутое «Европа / Варшава».
(Обратите внимание, что я не знаю, какие из этих работ работают в GAE, но, по крайней мере, вы будете знать, что искать)