I'm trying to parse a date formated like :
2017-09-20T10:59:10.0000000 01:00
I'm using Carbon, so i tried :
Carbon::createFromFormat('Y-m-dTH:i:s.u vP', $date)
Which output :
The timezone could not be found in the database\n
Unexpected data found.\n
Data missing
I guess the last timezone argument maybe wrong but i couldn't find how to parse that date format :/
Thanks for help !
You'll need to add a sign to the timezone, for example:
+01:00
Then this will work for you:
Carbon::createFromFormat('Y-m-d\TH:i:s.0000000 P', $date)
If your string can have -01:00
but instead of +01:00
you're getting 01:00
, do this first:
$timezone = str_after($date, ' ');
if ($timezone[0] !== '-') {
$date = str_before($date, ' ') . ' +' . $timezone;
}