次のような形式の日付を解析しようとしています:
2017-09-20T10:59:10.0000000 01:00
私はカーボンを使っているので、試してみました:
Carbon::createFromFormat('Y-m-dTH:i:s.u vP', $date)
どの出力:
The timezone could not be found in the database\n
Unexpected data found.\n
Data missing
最後のタイムゾーン引数はおそらく間違っていると思いますが、その日付形式を解析する方法を見つけることができませんでした:/
手伝ってくれてありがとう !
たとえば、タイムゾーンに記号を追加する必要があります。
+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;
}