为什么在Elasticsearch中有"Z"日期字段末尾?
例如:
2016-05-16T00:00:00.000Z
这是什么意思?
这对什么有用吗?
它有害吗?
我能把它扔掉吗?
乔达时间怎么样?
这是什么意思?
"Z"表示UTC
参考:
https://www.w3.org/TR/NOTE-datetime
尽量不要存储本地日期。如果你想找到一个关于日期和为什么应该使用UTC的好线程,请检查这个线程。
这对什么有用吗?
它非常有用,将所有日期存储在UTC中可以方便地将日期从区域设置转换为区域设置。它还允许日期比较和日期可视化保持一致。
它有害吗?
没有。
我能把它扔掉吗?
如果你愿意?我不建议这样做…这有点像从交易中删除货币字段。这笔交易毫无意义。
另一个日期示例:
2016年12月24日下午1点,我给我在X国的朋友打了电话(提前6小时)。对他来说是晚上7点。因此,我们有两个本地日期时间。
一个给我:
1pm December 24th 2016 in London
一个给我的朋友:
7pm December 24th 2016 in Country X
如果我删除"in…"这两部分变成了相隔5小时的两个时间实例。这意味着我们不可能通电话?正确的
不,因为它们在时间上是相同的实例,跨两个区域设置。
乔达时间怎么样?
那呢?。。。
我希望这能有所帮助。
来自RFC3339关于互联网上的日期和时间:
数值偏移计算为"本地时间减去UTC"。所以用UTC表示的等效时间可以通过减去偏移量来确定从当地时间。例如,18:50:0-04:00与22:50:00。(本例显示了通过添加偏移的绝对值。)
因此,以Z
结尾的日期就是日期&UTC时间。它应该是CCD_ 2的等价物。
时区偏移量的存在与否只是Elasticsearch字段定义中使用的日期格式的问题。