7
votes

Zones de temps pour différents utilisateurs

Je crée un script qui permet à l'utilisateur de choisir leur propre fuseau horaire fusionné ...

Si je dois faire ce travail, comment puis-je stocker des dates dans la base de données afin que chaque fuseau horaire la lit et montrent la date correcte dans leur fuseau horaire fusionné?

Est-ce que je stocke la date comme GMT, puis lorsqu'un utilisateur avec le fuseau horaire GMT +10 a sélectionné Views l'élément de mon script, je montre cette date dans GMT +10 fois?

Y a-t-il une meilleure façon de le faire?

Les exemples seraient super :)


0 commentaires

3 Réponses :


4
votes

stocker les trimestres dans UCC dans la base de données est définitivement la voie à suivre.


0 commentaires

1
votes

utc est comment vous le faites

Obtenez une date de courant de leur navigateur (utilisez JavaScript et postez la date de navigation sur le serveur) pour déterminer le fuseau horaire où ils sont dans et la définir comme une valeur par défaut


0 commentaires

1
votes

Dans MySQL, les champs TIMESTAMP sont toujours enregistrés en interne dans l'UTC, mais les requêtes renvoient des chaînes formatées basées sur le fuseau horaire de votre serveur de base de données. Votre serveur DB devrait donc probablement être défini sur UTC pour simplifier les choses. Passez ce produit directement dans un objet DateTime, vous pouvez utiliser la fonction SETTIMEZONE () pour le faire fonctionner dans le fuseau horaire souhaité.

Vous pouvez également utiliser date_default_timezone_set () Pour définir un fuseau horaire dans PHP, lequel sera utilisé pour le reste de votre script.


1 commentaires

Oh, et "UTC" est le nouveau "GMT", juste pour des éclaircissements.