AWS LastModified S3存储桶不同

时间:2018-11-09 19:23:18

标签: amazon-web-services amazon-s3

我正在开发一个node.js函数,该函数通过listObjectsV2调用列出S3存储桶中的对象。在返回的json结果中,日期与S3存储桶或aws cli s3列表中显示的日期不同。实际上,他们是不同的日子。我不确定这是怎么回事?

有什么想法吗?

aws cli s
    aws s3 ls s3:// mybucket
    2018-11-08 19:38:55 24294 Thought1.mp3

AWS上的S3页面

enter image description here

JSON结果

enter image description here

2 个答案:

答案 0 :(得分:2)

它们是相同的时间,但是在不同的时区。

listObjectsV2响应为您提供了祖鲁时间(UTC或格林威治标准时间),它似乎比您早6个小时。

答案 1 :(得分:1)

在JSON图片中,您具有2018-11-09T01:38:55.000Z,这是ZULU时间(最后的Z)。这表示UTC / GMT时间。

在S3控制台图片中,您具有格林尼治标准时间2018年11月8日晚上7:38:55-此时间是格林尼治标准时间减去6个小时(请参阅GMT-0600结尾)-可能是美国东部标准时间或类似。两者之间的差异恰好是6个小时。

aws CLI的输出可能在您的本地计算机上,并且以24H格式显示本地时间,没有时区,因此很难找到原因,但它与S3控制台时间匹配。

通常,AWS返回UTC时区中的时间。一旦开始在多个时区中进行部署,这通常会很有帮助。另一方面,如果您例如在配置了不同时区的EC2实例上运行代码,则可能会变得棘手。因此,当您从本地时间转换为UTC时间时,请务必小心-我建议您甚至使用https://momentjs.com/之类的库,否则您可能会遇到更多问题。