php - php 中的字符串到日期

标签 php datetime

我花了这几天的时间,也尝试用谷歌搜索它,但没有运气。 我有一个日期存储在字符串 $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/

相关文章:

php - 多域不同静态页面

python - 以秒为单位的时间差(作为 float )

Action Controller 模型中的 C# MVC 和 DateTime

php - PHP 中的远程图像大小和尺寸出现 HTTP 错误

php - 用于 HTML、PHP 和 Javascript 的分析工具

php - 像 dribbble.com 这样的动态 PHP 网站

mysql - 将字符串 yyyymmddhhmmss 转换为 hh :mm:ss format in SQL

datetime - Ecto/Elixir,如何按日期查询?

php - 使用 php 和 mysql 计算以小时为单位的日期差异

php - PHP 的可扩展/可定制/模块化轻量级标记