无法解析位置 41 (i) 处的时间字符串:双时区规范
我使用的是jquery daterangepicker,它又使用jQuery datapicker。
我的 Ubuntu 系统工作正常。浏览器正在发送一个可解析的字符串:
$dateStarted = new \DateTime($post['startDate']); // Thu Nov 15 2012 00:00:00 GMT-0700 (MST)
print_r($dateStarted);
输出:
DateTime Object
(
[date] => 2012-11-15 00:00:00
[timezone_type] => 1
[timezone] => -07:00
)
在我们的测试人员Windows系统上,浏览器在字符串中发送扩展的时区:
$dateStarted = new \DateTime($post['startDate']); // Thu Nov 15 2012 00:00:00 GMT-0700 (Mountain Standard Time)
print_r($dateStarted);
抛出和异常:
Exception: DateTime::__construct(): Failed to parse time string
(Thu Nov 15 2012 00:00:00 GMT-0700 (Mountain Standard Time))
at position 41 (i): Double timezone specification
我已经谷歌搜索了一下,找不到有关此特定PHP错误的任何资源。
我正在通过去掉括号中的文本来“解决”这个问题,该文本返回相同的结果:
$dateString = strstr($dateString, " (", true); // Thu Nov 15 2012 00:00:00 GMT-0700
这似乎很糟糕,我正在寻找有关如何正确执行此操作的建议。