在PHP中为JSON创建日期时间

在PHP中为JSON创建日期时间,php,json,laravel-5.6,Php,Json,Laravel 5.6,我需要在PHP Laravel中使用API并在其中传递原始的主体日期。它要求按照json show的要求以以下格式发送DataTime "ShippingDateTime": "\/Date(1484085970000-0500)\/", 我如何在PHP/Laravel中创建这样的日期,在这里我可以获得任何未来的日期(当前日期+1)。目前给出的错误是: DateTime content '23-01-2021' does not start with '

我需要在PHP Laravel中使用API并在其中传递原始的主体日期。它要求按照json show的要求以以下格式发送DataTime

"ShippingDateTime": "\/Date(1484085970000-0500)\/",
我如何在PHP/Laravel中创建这样的日期,在这里我可以获得任何未来的日期(当前日期+1)。目前给出的错误是:

DateTime content '23-01-2021' does not start with '\/Date(' and end with ')\/' as required for JSON.

看起来您有一个Unix时间戳,末尾有毫秒(
000
),再加上一个时区标识符。您应该能够使用

(这些在我的时区,
-06:00

假设您的日期位于
DateTime
对象中,请调用它们的
format()
方法来生成所需的日期格式

// create your DateTime as appropriate in your application
$yourdate = new \DateTime();

echo json_encode('/Date(' . $yourdate->format('UvO') . ')/');

// Set it ahead 1 day in the future
$yourdate->modify('+1 day');

这不是一个标准的日期格式,所以你必须手工修改,使它看起来像那样。那是什么格式?@FelippeDuarte我也找不到那是什么格式,我如何用PHP制作它。但在这些示例文档中,他们显示了\/Date(148408597000-0500)\/但由于这是一个过去的日期,所以它也给出了错误,该日期应该是未来的日期。让这成为每个人的一个教训,发明自己的日期交换格式是一个非常糟糕的主意。感谢这一点,它工作得很好,但您能帮助我如何使用它来获得下一个日期吗?比如现在它给出了当前日期,但我想做两个这样的日期,当前日期+1。当前日期+2.
current_date
,您是指今天的日期,还是指相对于您示例中的过去日期的当前日期?调用
DateTime
对象的
modify()
方法可以提前一两天更改它:我指的是今天的日期。我将尝试您的更新答案,谢谢:)
// create your DateTime as appropriate in your application
$yourdate = new \DateTime();

echo json_encode('/Date(' . $yourdate->format('UvO') . ')/');

// Set it ahead 1 day in the future
$yourdate->modify('+1 day');