我有一個非常奇怪的錯誤,我不明白。出於某種原因,某些日期未被正確解析。解析日期錯誤
代碼:
$day = strtotime($_GET['d']."-".$_GET['m']."-".$_GET['y']);
$dateTimeZone = new DateTimeZone("Europe/Prague");
$dateTime = new DateTime($day, $dateTimeZone);
$offset = ($dateTimeZone->getOffset($dateTime))/3600;
現在真正奇怪的是.... 如果我通過在特定的數字,它的工作原理,但它與其他人犯規...
例如一個像這樣的URL將工作:
d=15&m=12&y=2014
但這:
d=12&m=12&y=2014
顯示
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (1418252400) at position 7 (4): Unexpected character' in
我試圖用它進行試驗,也改變了的strtotime的格式,但沒有運氣,它只是似乎完全是隨機的工作....
你爲什麼在不同的參數發送日期? – 2015-04-01 16:20:05
你不需要使用strtotime,你可以直接將日期字符串傳遞給'DateTime'對象。錯誤可能是由於日,月和年的順序不正確。它應該是YYYY-MM-DD。 – 2015-04-01 16:20:05
當發生這種情況時'var_dump($ day)'會顯示什麼? – Barmar 2015-04-01 16:20:13