我正在尝试解析格式如下的日期:
2017-09-20T10:59:10.0000000 01:00
我正在使用 Carbon,所以我尝试过:
Carbon::createFromFormat('Y-m-dTH:i:s.u vP', $date)
哪个输出:
The timezone could not be found in the databasen Unexpected data found.n Data missing
我猜最后一个时区参数可能是错误的,但我找不到如何解析该日期格式:/
感谢您的帮助!
P粉2367436892023-10-22 10:44:17
您需要向时区添加一个符号,例如:
+01:00
那么这对你有用:
Carbon::createFromFormat('Y-m-d\TH:i:s.0000000 P', $date)
如果您的字符串可以包含 -01:00
,但您得到的不是 +01:00
,而是 01:00
,请执行以下操作第一:
$timezone = str_after($date, ' '); if ($timezone[0] !== '-') { $date = str_before($date, ' ') . ' +' . $timezone; }