我有一个非常奇怪的错误,我不明白。出于某种原因,某些日期未被正确解析。解析日期错误
代码:
$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