web-dev-qa-db-fra.com

Les différences entre la gestion du fuseau horaire de la date

Il existe plusieurs options pour la gestion des fuseaux horaires, le fuseau horaire du site, l'heure de la date, le fuseau horaire de l'utilisateur, l'UTC et aucune conversion de fuseau horaire. Quelles sont les différences entre eux?

Un cas serait une émission de télévision où tout le monde dans le monde vivrait simultanément. Le fuseau horaire de l'utilisateur serait-il correct à utiliser? Si le diffuseur mettait 20h00 alors qu'il vivait à New York, quelqu'un en Californie en ferait l'expérience à 17h00.

Ou, le cas, un slam de poésie se passe à New York et toute personne qui veut en faire l'expérience devra être physiquement là à 20h00, ce qui pourrait se produire à 17h00 en Californie, mais cela n'a pas d'importance pour le personne en Californie. Ce qui importe, c'est qu'ils soient à 20 heures à New York, donc l'heure ne devrait pas changer, peu importe où se trouve l'utilisateur ou à quelle heure de son fuseau horaire le slam poétique se déroule.

9
Adam S

La page de documentation du module Date décrit assez bien la différence entre les 5 options.

De cette page:

Il existe 5 options différentes pour la gestion des fuseaux horaires sur le terrain:

  1. Fuseau horaire du site - Lors de la saisie de données dans le champ, les données saisies sont supposées être dans le fuseau horaire du site. Lorsque les données sont enregistrées dans la base de données, elles sont converties en UTC. Lorsqu'elles sont récupérées de la base de données, les données sont converties en fuseau horaire du site pour les utilisateurs anonymes ou en fuseau horaire de l'utilisateur pour les utilisateurs connectés lorsque les fuseaux horaires configurables par l'utilisateur sont activés.
  2. Fuseau horaire de la date - Lorsque cette option est activée, le champ de date ajoute une zone de sélection pour spécifier explicitement le fuseau horaire pour la date entrée. Lorsque la date est enregistrée dans la base de données, elle n'est pas convertie et les informations de fuseau horaire sont enregistrées avec la date. Lors de la récupération de la base de données, aucune conversion n'est effectuée et la date s'affiche exactement telle qu'elle a été entrée.
  3. Fuseau horaire de l'utilisateur - Lors de la saisie de données dans le champ, les données saisies sont supposées être dans le fuseau horaire de l'utilisateur. Lorsque les données sont enregistrées dans la base de données, elles sont converties en UTC. Lorsqu'elles sont récupérées de la base de données, les données sont converties en fuseau horaire du site pour les utilisateurs anonymes ou en fuseau horaire de l'utilisateur pour les utilisateurs connectés lorsque les fuseaux horaires configurables par l'utilisateur sont activés.
  4. [~ # ~] utc [~ # ~] - Lors de la saisie de données dans le champ, les données saisies sont supposées être dans le fuseau horaire UTC. Lorsque les données sont enregistrées dans la base de données, elles sont converties en UTC (par exemple, aucune conversion n'est nécessaire). Lorsqu'elles sont récupérées de la base de données, les données sont converties en fuseau horaire du site pour les utilisateurs anonymes ou en fuseau horaire de l'utilisateur pour les utilisateurs connectés lorsque les fuseaux horaires configurables par l'utilisateur sont activés.
  5. Aucune conversion de fuseau horaire - La date entrée n'est pas convertie lors de l'enregistrement dans la base de données. Lorsqu'elles sont extraites de la base de données, les données ne sont PAS converties et sont affichées exactement telles qu'elles ont été saisies.
13
jhedstrom