我试图将网页解析为数据结构,因此我需要将两个字符串(一个日期,一次)转换为日期时间对象。
听起来很简单,但我的问题是格式。
示例日期为:' Donnerstag 23.10。 2014 ' 示例时间是:' 20:30 '
将此匹配到 ONE 日期时间我需要连接它们 所以我的结果
注意:内联编辑的解决方案(正确,错误,这是我的问题) dateTimeString是' Donnerstag 23.10。 2014 20:30 '
$date = "Donnerstag 23.10. 2014";
$date = explode(" ", $date);
$time = "20:30";
$datetimeString = $date[1].$date[2]." ".$time;
// wrong
$datetime = new DateTime();
$dateTime->createFromFormat("d.m.Y H:i");
// correct
DateTime::createFromFormat("d.m.Y H:i");
echo $datetime->format("d.m.Y H:i");
我预计输出为' Donnerstag 23.10。 2014 20:30 - > 23.10.2014 20:30 ' 但结果输出是我运行脚本的日期/时间...所以createFromFormat失败,但没有错误/警告!
注意:我也试过切断工作日,但仍然遇到同样的问题,日期时间没有被解析正确。我是否真的需要将其分解为每一位(日,月,年然后分配它?)
答案 0 :(得分:1)
检查这个
$date = "23.10.2014";
$time = "20:30";
$datetimeString = $date." ".$time;
$datetime = DateTime::createFromFormat("d.m.Y H:i", $datetimeString);
echo $datetime->format("d.m.Y H:i");
答案 1 :(得分:0)
检查以下内容 -
$date = "Donnerstag 23.10. 2014";
$date = explode(" ",$date);
$time = "20:30";
$new_date =date("d.m.Y H:i", strtotime($date[1].$date[2].$time));
答案 2 :(得分:0)
从strtotime()函数传递$ datetimeString。它会创建一个很长的数字。试试这个。
DEBUG