2014-04-23 2 views
2

En utilisant GEA et en essayant de définir le fuseau horaire pour le DateTimeProperty ci-dessous. Je voudrais définir le fuseau horaire dans la classe du modèle et non lors de la création de l'entrée.DateTimeProperty fuseau horaire

class Person(ndb.Model): 
    date_created = ndb.DateTimeProperty(auto_now_add=True) 
+0

@Daniel Roseman - Alors, quelle est la bonne pratique? ajouter le fuseau horaire tout en stockant les données ou pour ajouter le fuseau horaire seulement en affichant les données? –

Répondre

3

Vous ne définissez pas le fuseau horaire, vous définissez le datetime lorsque vous créez l'entité. Le fuseau horaire que vous désirez devrait être rangé séparément. Toutes les fonctionnalités appengine datetime fonctionnent en UTC.

YVous devez convertir en UTC lors de l'exécution de requêtes et dans le fuseau horaire souhaité lors de l'affichage du contenu.

+0

comment convertir en UTC pour Pafic (fuseau horaire de Tokyo)? – John

+0

Que diriez-vous de poser la question sur SO, plutôt que dans un commentaire. –

2

Le magasin de données ne stocke pas les fuseaux horaires (voir the documentation): tous les datetimes sont naïfs. Vous devez être sûr de toujours convertir les heures depuis et vers UTC lors de l'enregistrement et du chargement des données.