这是什么日期格式:-147114000000-0700
。它应该是05/04/1965
。
第一个术语看起来像一个unix时间戳。但那么为什么我们需要第二个任期?
我正在使用Redtail's api,但是他们提供的文档可以忽略不计。他们发送的日期类似于"/Date(-147114000000-0700)/"
。我以前从未见过这种格式。忽略所有无用的文字,我们得到-147114000000-0700
,仍然让我感到困惑。
答案 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 )。
-0700
是UTC 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,所以你无法真正说出它所在的时区。