为什么此 ISO 时间戳中的年份不是 2019?

try*_*rmr 32 time date amazon-web-services

对于我用来测试 devops 管道的简单应用程序,我将构建的开始时间输出到主页。在我的开发机器上,我期望的 ISO-8601 时间戳年份 2019 被打印出来(特别是“2019-09-12T20:11:00.000Z”)。当使用 AWS CodeBuild 构建相同的代码库时,ISO-8601 时间戳看起来像“+051668-02-09T08:09:32.000Z”。什么是“+051668”?我想是今年;我最好的猜测是它的年份表示为不同的日历。想法?

AWS CodeBuild 为每个构建 (CODEBUILD_START_TIME) 设置此环境变量。我正在使用他们最新的默认 Ubuntu 容器 (v2.0) 进行构建。

Zor*_*che 66

大多数谷歌点击显示 CODEBUILD_START_TIME 表示为自 1970 年以来的毫秒数。我怀疑在您的代码中的某处您将其视为秒。

如果转换+051668-02-09T08:09:32.000Z为秒,则会得到1568320819772. 如果您将其除以 1000,1568320819然后将其转换回人类可读的时间September 12, 2019 8:40:19

  • 文档也不好;亚马逊只是说“构建的开始时间” (9认同)
  • 是的,测试数据是以秒为单位的 unix 时间戳!我以为我直接从 CodeBuild 日志中获取了该时间戳,但我猜不是。 (4认同)
  • 通过右下角的链接为文档提供了一些关于时间戳的反馈 https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html 。 (4认同)