web-dev-qa-db-fra.com

Les horodatages Unix changent-ils d'un fuseau horaire à l'autre?

Comme le demande le sujet; les horodatages UNIX changent-ils dans chaque fuseau horaire?

Par exemple, si j'ai envoyé une demande à un autre courrier électronique à l'autre bout du monde en disant: "Envoyer un courrier électronique à 1397484936" ", l'horodatage de l'autre serveur être 12 heures derrière la mienne?

97
Ben Poulson

La définition de l'horodatage UNIX est indépendante du fuseau horaire. L'horodatage est le nombre de secondes (ou millisecondes) écoulées depuis un point absolu, minuit du 1er janvier 1970 à l'heure UTC. (L’heure UTC correspond à l’heure de Greenwich, sans les réglages de l’heure d’été). Quel que soit votre fuseau horaire, un horodatage représente un moment identique partout. Bien sûr, vous pouvez convertir en une représentation de fuseau horaire local (l'heure 1397484936 correspond à l'heure locale à New York, ou à un autre temps à Djakarta) si vous voulez.

L'article sur http://en.wikipedia.org/wiki/Unix_time est assez impressionnant si vous souhaitez une lecture plus longue.

175
RobP

Le temps Unix est défini comme le nombre de secondes qui se sont écoulées depuis 00:00:00 le temps universel coordonné ( UTC ), jeudi 1er janvier 1970. la réponse est non

8
Harry

SI les deux ordinateurs sont configurés correctement avec leurs horloges configurées pour les valeurs de fuseau horaire et UTC corrects, ils doivent renvoyer la même valeur.
Bien sûr que c'est un gros SI. Il est presque certain qu'il y aura une différence d'au moins une seconde, plus souvent minutes entre le temps rapporté par deux ordinateurs. De plus, de nombreux ordinateurs sont configurés avec des paramètres de fuseau horaire incorrects et signalent leur heure locale lorsqu'un horodatage leur est demandé plutôt que l'heure UTC.

Et c'est là que réside la différence entre théorie et pratique. En théorie, tout est pareil, en pratique, vous ne devriez jamais vous en fier.

4
jwenting

Timestamps Unix ne change pas entre les fuseaux horaires, ils sont créés dans le but de disposer d'une heure standard dans le monde entier.

REMARQUE: - Les horodatages sont calculés sur la base de l'heure actuelle de l'ordinateur. Par conséquent, ne les utilisez pas tant que vous n'êtes pas très sûr des réglages de l'heure sur les ordinateurs participants.

3
humble_wolf

Quelqu'un a déclaré que "l'heure UTC correspond à l'heure moyenne de Greenwich sans ajustement de l'heure d'été". C'est tout simplement faux. GMT n'a pas l'heure du Dayllight. L’heure GMT est mesurée à Greenwich, en Angleterre (à l’observatoire naval) [0 longitude, mais pas 0 lattitude]. Le temps UTC est mesuré à l'équateur [0 longitude et 0 lattitude - ce qui se trouve dans l'océan au large des côtes de l'Afrique].

Quelle différence cela fait? Cela ne fait aucune différence en termes de "quelle heure est-il?" Cependant, cela fait une différence en termes de calcul d’une année. Maintenant, vous penseriez qu'une année serait mesurée en fonction de l'emplacement du centre (le noyau) de la Terre, n'est-ce pas? Lorsque le noyau terrestre est de retour au même endroit, il y a environ 365 jours, cela fait un an. Ce n'est pas mesuré de cette façon. Il est mesuré par un endroit spécifique sur la Terre qui revient au même endroit (par rapport au Soleil) qu'il y a environ 365 jours. Mais les jours et les années ne se divisent pas de manière égale. Une fois que la Terre a retrouvé son état d'il y a un an, elle ne fait plus face à la même direction que l'année dernière, de sorte que cet endroit de la Terre ne fait pas face à la même direction qu'il y a un an. Plus au nord, Greenwich ne reviendra pas au même endroit (par rapport au Soleil) que l’année dernière, à la même heure que 0 Lat/0 Long. Donc, si vous basez la définition sur Greenwith vs 0/0, vous obtenez une réponse, quoique légèrement différente, à la question "combien de jours y a-t-il dans un an". En d'autres termes, lorsqu'un endroit donné sur la Terre retrouve son état d'il y a un an (par rapport au Soleil), le noyau de la Terre n'est pas au même endroit qu'il y a un an. vous choisissez les choses parce que le noyau de la Terre sera à un endroit différent (par rapport au Soleil) de ce qu'il était il y a un an, si vous choisissez un endroit différent sur la Terre.

Ni UTC, ni GMT n'ont l'heure avancée. Heure Europe/Londres, le fuseau horaire dans lequel réside Greenwich est le cas. Mais GMT ne le fait pas. GMT est ce que les Américains appelleraient une "heure standard" - c'est-à-dire sans l'heure d'été.

Pour en revenir à la question, l’époque n’a pas techniquement de fuseau horaire. Il est basé sur un moment particulier, qui se trouve être aligné sur une heure "même" UTC (au début exact d'une année et d'une décennie, etc.). Si ce concept ne vous convient pas, et s'il est utile de penser à l'époque d'Epoch comme étant en UTC, continuez. Vous êtes en bonne compagnie et dans le grand schéma des choses, cela n'a pas d'importance. Vous avez déjà vu ces procès où somoene reçoit 1 $. C'est en quelque sorte un verdict du type "vous avez raison, mais cela n'a pas d'importance". Si quelqu'un vous poursuivait en justice pour avoir déclaré que le temps de l'époque était dans le fuseau horaire UTC, il gagnerait 1 $. Cela ne leur permettrait pas d'acheter une tasse de café chez Starbucks, quel que soit le fuseau horaire de la planète.

0
Damocles