javascript - 为什么这是最早的日期?
问题描述
你能向我解释一下这两个日期吗?我认为第一个是 ISO 8601 和另一个 UTC?第一个是负3吗?那么实际上是晚上8点吗?第二个中的 Z 是什么?它们是什么,你知道的,人类语言?谢谢
2019-12-31T23:45:00.000-03:00
2020-01-01T00:15:00.000Z
解决方案
两者都是ISO-8601和JavaScript 的日期/时间格式(因为 JavaScript 的格式几乎完全是 ISO-8601 的子集)。这Z
意味着UTC(松散地,GMT - 格林威治标准时间),它相当于+00:00
. 这意味着 UTC前-03:00
三个小时(例如,巴西东部各地区目前使用的时区,如巴西利亚)。在人类语言中,您可能会说第一个是 2019 年除夕BRT或“巴西利亚时间”的晚上 11:45,第二个是格林威治标准时间元旦午夜后 15 分钟或“英国时间”(英国是格林威治标准时间)当它不在英国夏令时时,即 GMT+01:00)。
要将它们放在同一时区,您可以在第一个时区添加三个小时:
2019-12-31T23:45:00.000-03:00 + 3 小时 = 2020-01-01T02:45:00.000Z
或者从第二个中减去三个小时。
2020-01-01T00:15:00.000Z - 3 小时 = 2019-12-31T21:15:00.000-03:00
推荐阅读
- scala - 一种创建状态和 IO 单子堆栈实例的优雅方法
- node.js - 调用多个 AWS Lambda 不会产生并行进程
- reactjs - 无法更改 React JS 中的文本框值
- ios - 是否有一种 Swift 方法可以根据 cellLayoutMarginsFollowReadableWidth 缩进导航栏的大标题?
- outlook - Office.context.mailbox.item.itemId 很短?为什么?
- html - Bootstrap 的导航栏切换器使我的内容向下移动
- mysql - 如何设计架构,向其所有者显示消息,但如果未指定所有者,则向所有用户显示?
- sql - influx中如何实现如下sql查询?
- firebase - 如何在 Ionic 4 上的方法中显示 presentAlert?
- android - 使用已弃用的标记将标记置于折线上方