了解此日期格式 - Redtail

时间:2017-10-05 16:05:22

标签: date timestamp timezone-offset

这是什么日期格式:-147114000000-0700。它应该是05/04/1965

第一个术语看起来像一个unix时间戳。但那么为什么我们需要第二个任期?

我正在使用Redtail's api,但是他们提供的文档可以忽略不计。他们发送的日期类似于"/Date(-147114000000-0700)/"。我以前从未见过这种格式。忽略所有无用的文字,我们得到-147114000000-0700,仍然让我感到困惑。

1 个答案:

答案 0 :(得分:1)

-147114000000值是一个以毫秒为单位的unix时间戳:它表示自unix时期(即1970-01-01T00:00Z 1月1日 st 1970以来的毫秒数UTC午夜)。

由于数字-147114000000为负数,因此在纪元之前代表日期。在这种情况下,1965-05-04T07:00:00Z(或 5月4日 th 1965年上午7点在UTC )。

-0700UTC offset:它代表与UTC的差异。在这种情况下,比UTC晚7个小时,导致1965-05-04T00:00-07:00(或 5月4日 th 1965年午夜-07:00偏移)。 请注意,偏移量可以写为-07:00-0700-07

但请记住,这个相同的值可以代表每个时区的不同日期和时间。例如,在Pacific/Honolulu timezone(使用-10:00偏移since 1947)中,相同的时间戳对应1965-05-03T21:00-10:00 5月3日 rd 1965年9点,偏移-10:00 )。因此,相应的日期和时间将取决于您将其转换为的时区。

话虽如此,可能出现偏移的目的只是为了告诉你日期/时间所指的偏移是什么,所以它会阻止你转换为不同的偏移量(你可以获得不同的本地日期值)和时间)。

只是提醒-0700不是时区,它只是一个偏移量。实际上,时区是区域在其历史记录中拥有,拥有和将拥有的所有偏移的集合,而偏移量只是与UTC的差异(查看部分timezone tag description中的 TimeZone!= Offset 。可能有more than one timezone that uses the same offset,所以你无法真正说出它所在的时区。