Php 全时区数据
嗨,我正在以这种格式从提要中获取日期 2016-06-03T08:17:25.819350100Z 我试图在PHP中使用DateTime::createFromFormat函数对其进行格式化,但出现了一个错误,错误是: 致命错误:未捕获错误:调用上的成员函数格式 /opt/lampp/htdocs/entim/xml/index2.php中的布尔值:40堆栈跟踪:0 {main}在第40行的/opt/lampp/htdocs/entim/xml/index2.php中抛出 有什么想法吗 编辑: 编辑2: 无法在处分析时间字符串2016-06-03T08:17:25.819350100Z 位置0 2:在数据库中找不到时区Php 全时区数据,php,Php,嗨,我正在以这种格式从提要中获取日期 2016-06-03T08:17:25.819350100Z 我试图在PHP中使用DateTime::createFromFormat函数对其进行格式化,但出现了一个错误,错误是: 致命错误:未捕获错误:调用上的成员函数格式 /opt/lampp/htdocs/entim/xml/index2.php中的布尔值:40堆栈跟踪:0 {main}在第40行的/opt/lampp/htdocs/entim/xml/index2.php中抛出 有什么想法吗 编辑:
你可以剪断绳子,但这是一个难题
$dto = new DateTime(substr('2016-06-03T08:17:25.819350100Z', 0, 26) . 'Z');
echo $dto->format('d-m-Y H:i:s');
您正在经历-如果您去掉小数部分或PHP修复错误,它将起作用:
php > $dto = \DateTime::createFromFormat(\DateTime::ATOM, '2016-06-03T08:17:25Z');
php > var_dump($dto);
object(DateTime)#1 (3) {
["date"]=>
string(26) "2016-06-03 08:17:25.000000"
["timezone_type"]=>
int(2)
["timezone"]=>
string(1) "Z"
}
第一个异常是由DateTime::createFromFormat返回false引起的。如果解析不成功,您应该检查它。好吧,给我们看看代码,我们不是千里眼我正在编辑,但我已经尝试了各种方法,如strotTime、date、DateTime等。我的日期有很长的毫秒我也尝试过这种方法,请参阅Edit2您确定没有更改该数据格式,因为它不符合任何标准日期格式这是来自服务器的报告,我将其保存在xml文件中。黑客是当前唯一的解决方案。
$dto = new DateTime(substr('2016-06-03T08:17:25.819350100Z', 0, 26) . 'Z');
echo $dto->format('d-m-Y H:i:s');
php > $dto = \DateTime::createFromFormat(\DateTime::ATOM, '2016-06-03T08:17:25Z');
php > var_dump($dto);
object(DateTime)#1 (3) {
["date"]=>
string(26) "2016-06-03 08:17:25.000000"
["timezone_type"]=>
int(2)
["timezone"]=>
string(1) "Z"
}