此API返回的日期格式是什么?

时间:2013-05-14 14:51:27

标签: datetime

我从API获得这个 - 这个日期与1983年6月30日有关:

[DateOfBirth] => /Date(425775600000+0100)/

那么这是什么数据类型? API文档说它是DateTime但我之前没有遇到它。我需要能够解码并重新编码为这种格式。

感谢。

3 个答案:

答案 0 :(得分:3)

Havenard所述,自Unix Epoch'以来,核心格式为“毫秒”。时区偏移一小时。

$ timestamp -u 425775600
425775600 = Wed Jun 29 23:00:00 1983
$

这是一个非标准的程序,但它提供了信息; -u表示'使用gmtime()'以及它是1983年6月30日午夜前一小时的事实是由于一小时的时区偏移。

(Unix Epoch是1970-01-01 00:00:00 +00:00- 1970年1月1日午夜,UTC。)

答案 1 :(得分:2)

这是 milli -seconds中的unix时间。

自1970年1月1日以来,Unix时间以秒为单位,所以

425775600

映射到

30.06.1983 01:00:00

(由于时区而产生偏移)。

使用此类工具验证:

http://www.gaijin.at/olsutc.php

答案 2 :(得分:1)

该格式是由Microsoft在其ASP.Net中使用的JavaScriptSerializer类中开发的专有格式。您可以阅读herehere

然后你可以阅读一些the nightmares this caused

此格式虽然仍受支持,但不建议再使用。 Microsoft已离开JavaScriptSerializer和令人厌恶的JsonContractDataSerializer类,现在正在使用Json.Net库。

最初,该库使用Microsoft格式作为其默认值。但这在4.5中有所改变。它现在使用ISO8601格式的日期。 Read here

事实是 - JSON没有为日期或时间指定任何特定格式。人们早期就有不同的意见,但现在这些意见正在大致一致地支持ISO8601。具体而言,RFC3339中描述的配置文件是应该使用的标准,例如:

2013-05-14T10:30:00-07:00