javascript 全文 Date() 格式与 PHP carbon

Pri*_*ome 4 javascript php date php-carbon

我正在从 javascript Date() 函数生成并发送完整的日期字符串,该函数返回完整的字符串日期格式,如下所示:

Sun Jan 01 2017 00:00:00 GMT+0100 (Central European Standard Time)
Run Code Online (Sandbox Code Playgroud)

Carbon 解析器不会接受这种格式来在服务器端创建相同的日期。这不起作用:

$date = Carbon::parse('Sun Jan 01 2017 00:00:00 GMT+0100 (Central European Standard Time)');
Run Code Online (Sandbox Code Playgroud)

错误 无法解析时间字符串(Sun Jan 01 2017 00:00:00 GMT+0100(中欧标准时间))在位置 41 (l):双时区规范

如果我删除(Central European Standard Time)作品:

$date = Carbon::parse('Sun Jan 01 2017 00:00:00 GMT+0100');
Run Code Online (Sandbox Code Playgroud)

然后它正确地创建日期。

JS 默认 Date() 可以以某种方式在 Carbon 中使用,还是我必须在将日期发送到 Carbon 之前格式化它?

iai*_*inn 7

Carbon 扩展了 PHP 的原生DateTime类,因此您可以使用createFromFormat

$date = 'Sun Jan 01 2017 00:00:00 GMT+0100 (Central European Standard Time)';
$carbon = Carbon::createFromFormat('D M d Y H:i:s e+', $date);
Run Code Online (Sandbox Code Playgroud)

格式规范的重要部分是+末尾,它告诉它忽略任何尾随数据。

有关演示,请参阅https://3v4l.org/Rnen7(使用DateTime而不是Carbon