web-dev-qa-db-fra.com

Pourquoi l'année dans cet horodatage ISO n'est-elle pas 2019?

Pour une application simple que j'utilise pour tester un pipeline de devops, je renvoie l'heure de début d'une génération sur la page d'accueil. Sur ma machine de développement, l'année de l'horodatage ISO-8601 que j'attends, 2019, est imprimée (en particulier, "2019-09-12T20: 11: 00.000Z"). Lorsque la même base de code est créée à l'aide d'AWS CodeBuild, l'horodatage ISO-8601 ressemble à "+ 051668-02-09T08: 09: 32.000Z". Qu'est-ce que "+051668"? Je suppose que c'est l'année; Ma meilleure supposition est que l'année est représentée comme un calendrier différent. Pensées?

AWS CodeBuild définit cette variable d'environnement pour chaque génération (CODEBUILD_START_TIME). Je construis avec leur dernier conteneur Ubuntu par défaut (v2.0).

32
trycrmr

La plupart des résultats Google indiquent que CODEBUILD_START_TIME est représenté par le nombre de millisecondes depuis 1970. Je soupçonne quelque part dans votre code que vous traitez cela comme si c'était quelques secondes.

Si vous convertissez +051668-02-09T08:09:32.000Z en secondes vous obtenez 1568320819772. Si vous divisez + arrondissez par 1000, vous obtenez 1568320819 puis reconvertissez cela en une heure lisible par l'homme vous obtenez September 12, 2019 8:40:19.

66
Zoredache