对于文件上传脚本(HTML5 File API/PHP从上传的块创建文件)我需要将文件的最后修改日期转换为Mysql日期时间格式('Ymd H :I:S')。在我的PHP代码的部分看起来像这样:PHP日期时间错误/文件上次修改时间
// The last modified date is in a POST Request (jQuery AJAX)
$fileLastModified = new DateTime($_POST['fileLastModified']);
// Convert to UTC
$fileLastModified->setTimeZone(new DateTimeZone('UTC'));
// Change the format
$done = $fileLastModified->format('Y-m-d H:i:s');
在OSX 10.9(小牛)一切正常,并$_POST['fileLastModified']
被设置为一个字符串像
星期三2014年2月26日13时42分22秒GMT + 0100(CET)
在PC(Windows 8中)$_POST['fileLastModified']
被设置成类似
Wed Feb 26 2014 13:42:22 GMT + 0100(W.欧洲标准时间)
和PHP是给我一个很长的上述错误消息(代码)
“异常”与消息“日期时间:: _ 结构():解析失败 时间字符串(Wed Feb 26 2014 13:42:22 GMT + 0100(W. Europe Standard Time))at position 38(E):Double timezone specification'in /FILEPATH/upload.php:57\nStack trace:\ n #0 /FILEPATH/upload.php(57): DateTime-> _construct('Wed Feb 26 2014 ...')
因此...为什么DateTime无法解析PC上的字符串,而它在OSX上完美工作?
'W.欧洲标准时间“无效。 –
@JohnConde谢谢,任何建议如何删除只有该部分?所以它仍然适用于每个文件修改日期? – Daniel
您是否尝试过使用http://www.php.net/manual/en/function.strptime.php并指定预期日期格式,因为该功能会忽略所有未知的元素? –