javascript全文Date()格式,带有PHP Carbon

时间:2018-11-15 13:40:53

标签: javascript php date php-carbon

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

Sun Jan 01 2017 00:00:00 GMT+0100 (Central European Standard Time)

碳分析器将不接受这种格式在服务器端创建相同的日期。这不起作用:

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

错误 未能解析位置41(l)处的时间字符串(Sun Jan 01 2017 00:00:00 GMT + 0100(欧洲中部标准时间)):双时区规范< / em>

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

$date = Carbon::parse('Sun Jan 01 2017 00:00:00 GMT+0100');

然后正确创建日期。

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

2 个答案:

答案 0 :(得分:2)

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);

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

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

答案 1 :(得分:1)

您可以以ISO格式传递日期,Carbon可以理解ISO格式。您可以使用new Date().toISOString()

以ISO格式获取日期。