【问题标题】:Convert Date and Time strings to DateTime将日期和时间字符串转换为 DateTime
【发布时间】:2013-05-04 12:11:11
【问题描述】:

我正在尝试使用 PHP 将日期和时间转换为 DateTime 格式:

$matches_date = null;
preg_match('/\[(.*[^]])\]/', $line_text, $matches_date);
print "DATE: ".$matches_date[1]."<br>";

$matches_time = null;
preg_match('/\(([^)]*)\)/', $line_text, $matches_time);
print "TIME: ".$matches_time[1]."<br>";

$release_date = date("Y-m-d H:i:s", strtotime($matches_date[1] + " " + $matches_time[1]));
print "DATETIME: ".$release_date."<br>";

输出:

日期:2013-01-30

时间:13:00:00

日期时间:2013-05-10 20:26:00

日期时间不正确。我如何解决它?尝试了许多变体,但都没有奏效。

【问题讨论】:

  • $line_text输入的值是多少?
  • 另外,您在连接它们时缺少日期和时间之间的空格。
  • 没关系。该代码的要点是 $matches_date[1] - 是一个日期字符串,而 $matches_time[1] - 是一个时间字符串。
  • 您可以查看DateTime 对象。可能会很有帮助。 php.net/manual/en/datetime.construct.php
  • @MattJohnson 这是变化的结果。抱歉,忘记修复它了.. 但空间并不能解决我的问题

标签: php date datetime time converter


【解决方案1】:

您使用了错误的运算符进行连接。 .不是+

$release_date = date("Y-m-d H:i:s", strtotime($matches_date[1] . " " . $matches_time[1]));

【讨论】:

    【解决方案2】:

    试试这个“D, d M Y H:i:s T”代替“Y-m-d H:i:s”

    【讨论】:

      猜你喜欢
      • 2011-02-17
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2013-03-12
      • 2017-02-22
      • 2012-08-13
      相关资源
      最近更新 更多