Pourquoi est-ce
1 janvier 1970 00:00:00
considéré comme l' époque de l'époque ?
Pourquoi est-ce
1 janvier 1970 00:00:00
considéré comme l' époque de l'époque ?
Réponses:
Les premières versions d'Unix mesuraient le temps système à des intervalles de 1/60 s. Cela signifiait qu'un entier non signé 32 bits ne pouvait représenter qu'un laps de temps inférieur à 829 jours. Pour cette raison, le temps représenté par le nombre 0
(appelé l' époque ) devait être réglé dans un passé très récent. Comme c'était au début des années 1970, l'époque a été fixée à 1971-1-1.
Plus tard, l'heure du système a été modifiée pour incrémenter chaque seconde, ce qui a augmenté la durée pouvant être représentée par un entier non signé 32 bits à environ 136 ans. Comme il n'était plus si important de presser chaque seconde hors du comptoir, l'époque a été arrondie à la décade la plus proche, devenant ainsi 1970-1-1. Il faut supposer que cela était considéré comme un peu plus net que 1971-1-1.
Notez qu'un entier signé 32 bits utilisant 1970-1-1 comme époque peut représenter des dates allant jusqu'à 2038-1-19 , date à laquelle il se terminera par 1901-12-13.
Histoire .
Les premières versions de l'heure Unix avaient un entier 32 bits incrémenté à une fréquence de 60 Hz, qui était la fréquence de l'horloge système sur le matériel des premiers systèmes Unix. Par conséquent, la valeur 60 Hz apparaît toujours dans certaines interfaces logicielles. L'époque diffère également de la valeur actuelle.La première édition du Manuel du programmeur Unix datée du 3 novembre 1971 définit l'heure Unix comme "l'heure depuis 00:00:00, le 1er janvier 1971, mesurée en soixantième de seconde".
http://en.wikipedia.org/wiki/Unix_time#History explique un peu les origines du temps Unix et l'époque choisie. La définition du temps unix et de la date de l'époque a subi quelques changements avant de se stabiliser sur ce qu'il est maintenant.
Mais cela ne dit pas pourquoi exactement 1/1/1970 a finalement été choisi.
Extraits notables de la page Wikipedia:
La première édition du manuel du programmeur Unix datée du 3 novembre 1971 définit l'heure Unix comme "l'heure depuis 00:00:00, le 1er janvier, 1971. , mesurée en soixantième de seconde".
En raison de [la] portée limitée, l'époque était redéfinie plus d'une fois , avant que le taux ne soit changé à 1 Hz et que l'époque ait été réglée à sa valeur actuelle.
Plusieurs problèmes ultérieurs, notamment la complexité de la présente définition, résultent du fait que le temps Unix a été défini progressivement par l'utilisation plutôt que complètement défini au départ.
Une date de référence d'époque est un point de la chronologie à partir duquel nous comptons le temps. Les moments avant ce point sont comptés avec un nombre négatif, les instants suivants sont comptés avec un nombre positif.
Pourquoi le 1er janvier 1970 00:00:00 est-il considéré comme l'époque de l'époque?
Non, pas l' époque, une époque. Il existe de nombreuses époques en usage .
Ce choix d'époque est arbitraire .
Les principaux systèmes informatiques et bibliothèques utilisent au moins une douzaine d'époques différentes . L'une des époques les plus populaires est communément appelée Unix Time , en utilisant le moment UTC de 1970 que vous avez mentionné.
Bien que populaire, 1970 d'Unix Time n'est peut-être pas le plus courant. Le plus courant serait également le 0 janvier 1900 pour d'innombrables feuilles de calcul Microsoft Excel et Lotus 1-2-3, ou le 1er janvier 2001 utilisé par le cadre Cocoa d'Apple dans plus d'un milliard de machines iOS / macOS dans le monde dans d'innombrables applications. Ou peut-être le 6 janvier 1980 utilisé par GPS appareils ?
Différents systèmes utilisent une granularité différente dans le temps de comptage.
Même le «temps Unix» varie, certains systèmes comptant des secondes entières et quelques millisecondes de comptage . De nombreuses bases de données telles que Postgres utilisent des microsecondes . Certains, comme le cadre java.time moderne de Java 8 et versions ultérieures, utilisent des nanosecondes . Certains utilisent encore d'autres granularités.
Parce qu'il y a tellement de variances dans l'utilisation d'une référence d'époque et dans les granularités, il est généralement préférable d'éviter de communiquer des moments comme un compte à partir de l'époque. Entre l'ambiguïté de l'époque et de la granularité, ainsi que l'incapacité des humains à percevoir des valeurs significatives (et donc à manquer des valeurs de buggy), utilisez du texte brut au lieu de chiffres.
L' ISO 8601 fournit un ensemble complet de formats pratiques et bien conçus pour exprimer des valeurs date-heure sous forme de texte. Ces formats sont faciles à analyser par la machine ainsi que faciles à lire par les humains à travers les cultures.
Ceux-ci inclus:
2019-01-23
2019-01-23T12:34:56.123456Z
2019-01-23T18:04:56.123456+05:30
2019-234
Réponse courte: pourquoi pas?
Réponse plus longue: le temps lui-même n'a pas vraiment d'importance, tant que tous ceux qui l'utilisent s'accordent sur sa valeur. Comme le 1/1/70 est utilisé depuis si longtemps, son utilisation vous rendra le code aussi compréhensible que possible pour autant de personnes que possible.
Il n'y a pas grand mérite à choisir une époque arbitraire juste pour être différent.