【问题标题】:String to DateTime Object字符串到日期时间对象
【发布时间】:2011-12-28 13:19:18
【问题描述】:

我是字符串函数的新手,所以我需要一个复杂的 substr 和 trim 函数来处理这个字符串:

Wed, 28 Dec 2011 13:04:30 GMT

字符串总是以这种格式出现在我面前。我想将它转换为 DateTime 对象。有人可以帮帮我吗?

【问题讨论】:

  • 你试过这个$time = strtotime( $date );
  • 为什么不能只使用 datetime::createfromformat() - php.net/manual/en/datetime.createfromformat.php
  • strtotime 函数不接受这种格式。 datetime::createfromformat 或许可以解决这种情况。谢谢你的帮助,我现在去看看。

标签: php string datetime


【解决方案1】:
$dateString = 'Wed, 28 Dec 2011 13:04:30 GMT';
$dateTime = datetime::createfromformat('D, d M Y H:i:s e',$dateString);

echo $dateTime->format('d-M-Y H:i:s e');

【讨论】:

  • 非常感谢,我想我可以用你的解决方案解决这个问题。我要检查并再次转弯。
  • DateTime的构造函数会接受这个dateString,不需要定义格式。
【解决方案2】:
<?php
$date = new DateTime('Wed, 28 Dec 2011 13:04:30 GMT');
echo $date->format('r');

...打印:

Wed, 28 Dec 2011 13:04:30 +0000

【讨论】:

    【解决方案3】:

    如果您想使用 Doctrine 获取日期字符串并将其作为日期对象写入数据库:

    注意:这是 Symfony 3 和 4 的表单发布示例。

    $mynewdateobject = new \DateTime($request->request->get('mydatestring'));
    

    然后您可以将对象写入数据库或在代码的其他地方使用它。

    【讨论】:

      猜你喜欢
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多