我花了这几天的时间,也尝试用谷歌搜索它,但没有运气。 我有一个日期存储在字符串 $dob = '2012-10-06 10: 45: 45 +0000'; 中 我正在尝试使用以下代码将其转换为日期:
$timezone = 'Europe/Brussels';
$d = DateTime::createFromFormat("Y-m-d H:i:s P",$dob ,new DateTimeZone($timezone));
echo $d->format("Y-m-d");
但是我收到以下错误消息: fatal error :在非对象上调用成员函数 format() 如何从以下格式的字符串创建 DateTime: 2012-10-06 10: 45: 45 +0000 ? 谢谢您的帮助...
最佳答案
您的日期中似乎有一些空格不在您的模式中。另外,P => O 因为 P 有一个冒号,而 O 只是 4 位数字。
尝试使用“Y-m-d H: i: s O”
。
您可能会收到错误,因为 createFromFormat() 失败,并且 $d 中实际上没有 DateTime 对象。
如果这不能解决问题,请查看 DateTime::getLastErrors() 。这可以帮助解释问题。
这是一个 PHP 沙箱的链接,我的建议有效:http://sandbox.onlinephpfunctions.com/code/ee06a025fb9ab47f136eba221382c8b2f84be703
您必须单击代码下方的运行按钮。
关于php - php 中的字符串到日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12925239/