【问题标题】:What kind of date format is this?这是什么日期格式?
【发布时间】:2017-03-27 07:19:43
【问题描述】:

我从某个 API 得到这个:

/Date(-27734400000+0000)/

它叫什么格式?如何将其转换为时间戳?

【问题讨论】:

标签: php symfony datetime


【解决方案1】:

无论出于何种原因,C# 似乎都像这样序列化 DateTime 对象。通常它的格式为/Date(Seconds since 01/01/1970)/,但这是负数(而且如此之大)的事实让我怀疑某处存在溢出。无论如何做这样的事情:

<?php
$str = "/Date(-27734400000+0000)/";
$strTime = substr($str,6,-2);
$date = new \DateTime();
$date->setTimestamp(intval($strTime));
//You can also do some more sophisticated things to set the timezone based on the +xxxx part
print_r($date);

这个打印(http://sandbox.onlinephpfunctions.com/code/8e65641fa2aae0a3f49ce9c3f27457d7c6842b7b

DateTime Object (
    [date] => 1091-02-17 16:00:00.000000
    [timezone_type] => 3
    [timezone] => US/Pacific
)

这对我来说毫无意义,除非您期待 1091 年的某个日期。我认为这很可能是您应该通知开发人员的 API 错误。

【讨论】:

    猜你喜欢
    • 2012-07-19
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    相关资源
    最近更新 更多