我有问题以通用的方式解析以下两个时间戳字符串?
$timestamp1 = "2013-10-15 19:05:18.756932+03";
$timestamp2 = "2013-10-15 19:05:18.756932+03:00";
到目前为止,我有这个,但它以false
返回
$datetime = DateTime::createFromFormat('Y-m-d HH:MM:SS frac "GMT"? [+-] hh ":"? MM?', $timestamp1);
$datetime = DateTime::createFromFormat('Y-m-d HH:MM:SS frac "GMT"? [+-] hh ":"? MM?', $timestamp2);
怎么了?非常感谢。
附言:我试过这个'Y-m-d HH:MM:SSfrac"GMT"?[+-]hh":"?MM?'
、这个''Y-m-d HH:MM:SS[0-9]+"GMT"?[+-]hh":"?MM?'
和这个'Y-m-d HH:MM:SS [0-9] "GMT"? [+-] hh ":"? MM?'
,但总是失败。
假设最后一部分是时区偏移,Y-m-d H:i:s.ue
应该可以工作。
如果这是posgre的默认格式,那么当Y-m-d H:i:se
没有小数秒(2013-10-15 19:05:18+03
)时,您可能需要处理这种情况。
您的格式字符串中有一个错误。
$datetime = DateTime::createFromFormat('Y-m-d H:i:s.uP', $timestamp1);
以下是格式字符串选项的文档:PHP:DateTime::createFromFormat手动