2013-05-09 63 views
0

我试图使用PHP来转换日期和时间DateTime格式:转换日期和时间字符串为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年1月30日

TIME:13:00:00

DATETIME:2013-05-10 20:26:00

日期时间不正确。我如何解决它?尝试了许多变化,但没有工作。

+0

'$ line_text' input的值是多少? – 2013-05-09 21:42:16

+0

此外,您在连接日期和时间之间缺少一个空格。 – 2013-05-09 21:44:00

+0

这没关系。该代码的重点是$ matches_date [1] - 是一个日期字符串,$ matches_time [1] - 是一个时间字符串。 – Alex 2013-05-09 21:44:20

回答

1

您使用了错误的操作来连接。 .不是+

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

优秀!我不敢相信这是一个问题;(谢谢 – Alex 2013-05-09 21:52:20

0

试试这个 “d,d M Y H:我:■T” 代替 “:我:Y-M-d小时秒”

相关问题