Pourquoi les dates calculées à partir du 1er janvier 1970?
Est-il une raison derrière l'utilisation de la date(1er janvier 1970) comme standard par défaut pour le temps de la manipulation? J'ai vu ce standard en Java et en Python. Ces deux langues que je connais. Il existe d'autres langues populaires qui suit la même norme?
Veuillez les décrire.
- Une autre langue populaire à la suite de la même standard est en PHP, c'est assez courant en temps le point de départ.
- Pourquoi est-1/1/1970 la "époque"?, Pourquoi Unix temps de commencer à 1970-01-01?
Vous devez vous connecter pour publier un commentaire.
C'est le standard de Le temps Unix.
La Question fait deux fausses hypothèses:
Deux Douzaines D'Époques
Temps dans le calcul est pas toujours suivis depuis le début des années 1970 UTC. Alors que époque est populaire, environnements informatiques divers, au fil des décennies ont utilisé au moins près de deux douzaines d'époques. Certains sont d'autres siècles. Ils vont de l'an 0 (zéro) pour 2001.
Voici quelques.
Époque Unix Courants, Mais Pas Dominante
Le début des années 1970, est populaire, probablement en raison de son utilisation par Unix. Mais en aucun cas est dominante. Par exemple:
January 0, 1900
(31 décembre 1899).1 January 2001, GMT
.January 6, 1980
alors que l'alternative Européenne Galileo utilise22 August 1999
.ISO 8601
En supposant un nombre-depuis-l'époque est à l'aide de l'époque Unix est l'ouverture d'une grande vulnérabilité pour les bugs. Un tel nombre est impossible pour un humain instantanément déchiffrer, si des erreurs ou des problèmes de ne pas être facilement repérés lors du débogage et de journalisation. Un autre problème est l'ambiguïté de la granularité expliqué ci-dessous.
Je vous suggère fortement de la place de la sérialisation de la date-heure de valeurs sans ambiguïté ISO 8601 chaînes pour l'échange de données plutôt que sur un nombre entier-depuis-époque:
YYYY-MM-DDTHH:MM:SS.SSSZ
comme2014-10-14T16:32:41.018Z
.Comte De Ce Depuis L'Époque
Un autre problème avec le comte-depuis-époque de suivi du temps est l'unité de temps, avec au moins quatre niveaux de résolution couramment utilisés.
L'Unix d'origine installations utilisées en secondes, conduisant à la L'Année 2038 Problème lorsque nous atteignons la limite de secondes depuis 1970, si le produit est stocké comme un entier de 32 bits.
Utilisé par les anciens des bibliothèques Java, y compris le logiciel java.util.Classe Date et l' Joda-Time bibliothèque.
Utilisé par les bases de données telles que Postgres.
Utilisé par le nouveau java.en temps dans Java 8.
Le 1er janvier 1970 00:00:00 am est le point zéro de POSIX temps.
Pas de raison que les questions.
Python
time
module est le C de la bibliothèque. Demander à Ken Thompson pourquoi il a choisi cette date pour une occasion en or de date. Peut-être que c'était l'anniversaire de quelqu'un.Excel utilise deux époques différentes. Aucune raison de s'en différentes version d'excel utilisation des dates différentes?
Sauf pour le programmeur, personne ne le saura jamais pourquoi ceux de ces types de décisions ont été prises.
Et...
Il n'a pas d'importance pourquoi la date a été choisie. Il a été juste.
Les astronomes utilisent leur propre époque date: http://en.wikipedia.org/wiki/Epoch_(astronomie)
Pourquoi? Une date doit être choisi pour faire le calcul travail. Aucune date aléatoire fonctionne.
Une date loin dans le passé évite des nombres négatifs pour le cas général.
Certains de la plus intelligente des paquets de la proleptic année Grégorienne 1. Aucune raison de s'en année 1?
Il y a une raison donnée, dans des livres comme le Calendrier des Calculs: il est mathématiquement un peu plus simple.
Mais si vous pensez à ce sujet, la différence entre 1/1/1 et 1/1/1970 est juste 1969, un trivial mathématique de l'offset.
pourquoi c'est toujours le 1er janvier 1970 , à Cause - du 1er janvier 1970' généralement appelé "époque date" est la date à laquelle le temps a commencé pour les ordinateurs Unix, et que le timestamp est marqué comme '0'. Tout moment à partir de cette date est calculée en fonction du nombre de secondes écoulées. En termes plus simples... le timestamp d'une date sera la différence en secondes entre cette date et le 1er janvier 1970 " L'horodatage est juste un entier qui ont commencé à partir du numéro '0' à 'Minuit le 1er janvier 1970" et va sur l'incrémentation par '1' parce que chaque seconde passer Pour la conversion des timestamps UNIX lisible dates de PHP et d'autres open source de langues offre des fonctions intégrées.
Q) "Pourquoi les dates calculées à partir du 1er janvier 1970?"
A) Il devait être aussi récente que possible, encore certains passé.
Il n'y a probablement aucune autre raison que beaucoup de gens se sentent de la même façon.
Qu'ils savaient que ça pose un problème si ils ont placé trop loin dans le passé et qu'ils savaient qu'elle a donné des résultats négatifs si elle était dans l'avenir. Il n'y a pas de nécessité d'aller plus loin dans le passé que les événements seront plus susceptibles de prendre place dans l'avenir.
Notes:
Les mayas, d'autre part, eu le besoin de placer les événements dans le passé, puisque le a la connaissance de beaucoup de passé, pour lequel ils ont fait un long terme de calendrier. Juste pour placer tous la routine phénomènes sur le calendrier.
L'horodatage n'a pas été conçu comme un agenda, c'est une Époque. Et je crois que les mayas ont fait leur à long terme de calendrier à l'aide de ce même point de vue. (ce qui signifie qu'ils savaient très bien qu'ils n'ont pas de relations avec le passé, ils ont juste eu le besoin de le voir dans une plus grande échelle)
Oui, C (et sa famille). C'est là que Java a eu trop.