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


32

对于一个简单的应用程序,我用来测试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)进行构建。


1
@AuxTaco哇,猜猜这是错误的/不完整的吗?i.imgur.com/LgnmacQ.png,删除了我的评论
hanshenrik

1
@hanshenrik该​​语法似乎不允许使用五位数的年份。我会毫不犹豫地说这是错误的,因为扩展的年份“仅在信息交换方面经过合作伙伴的共同同意才允许。”
AuxTaco

Answers:


66

大部分Google命中显示CODEBUILD_START_TIME以1970年以来的毫秒数表示。我怀疑您在代码中的某个地方将其视为秒。

如果转换+051668-02-09T08:09:32.000Z为秒,您会得到1568320819772。如果将其除以1000,1568320819再将其四舍五入,然后将其转换为人类可以理解的时间September 12, 2019 8:40:19


4
是的,测试数据是以秒为单位的unix时间戳!以为我已经直接从CodeBuild日志中获取了该时间戳,但猜猜不是。
trycrmr

9
也是糟糕的文档;亚马逊只是说😒“构建的开始时间”
莫妮卡亮度赛

4
通过右下角docs.aws.amazon.com/codebuild/latest/userguide/…中的链接为文档提供了一些更具体的时间戳反馈
trycrmr
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.