Il s'agit plus d'une question Python, que d'une question GAE, à moins que GAE ait une infrastructure pour faciliter cela (j'ai fait un scan rapide mais je n'ai trouvé aucune référence). Fondamentalement, vous voulez stocker la date/heure dans le fuseau horaire UTC (par exemple utiliser datetime.datetime.utcnow) avec les fuseaux horaires de l'utilisateur, que vous pouvez soit essayer d'extraire des adresses IP utilisateur (en utilisant GeoDjango, si disponible sur GAE, ou pygeoip, vous avez besoin d'un db de géolocalisation comme: http://www.maxmind.com/app/geolitecity), ou de demander explicitement aux utilisateurs à ce sujet - ce qui a l'avantage que vous pouvez demander un nom de fuseau horaire descriptif, comme "Europe/Varsovie". Si vous demandez seulement UTC + 2, vous perdez toute indication de décalage DST.
Ensuite, vous pouvez passer de utc au fuseau horaire souhaité en utilisant par ex. pytz:
import pytz
local_tz = pytz.timezone(timezone_name)
return timestamp_utc.replace(tzinfo=pytz.utc).astimezone(local_tz).replace(tzinfo=None)
- où timestamp_utc
est datetime que vous voulez utc convertir, et timezone_name est le dit "Europe/Varsovie".
(Notez que je ne sais pas lequel de ces œuvres dans GAE, mais au moins vous saurez ce qu'il faut chercher)
double possible : http://stackoverflow.com/questions/4065157/django-time-issues/4065236#4065236 – mouad
juste compris ce que l'acceptation est ... merci – speedplane