我的数据库中有一个代表当天的字段。但是,如果我尝试将其解析为DateTime,我会收到以下错误:
Failed to parse time string (tuesday, 18 april 2017) at position 0 (d): The timezone could not be found in the database
现在我通过剥离日期(当天的天数)和月份(月份的数量)来进一步解析数据:
$stripDay = $createDate->format('d');
$stripMonth = $createDate->format('M');
但现在我收到了上述错误。我认为它与日期之前的日期(本例中的星期二)有关。我是否需要先将时间转换为切断日期?
编辑:我的字符串开头是:星期二,2017年4月18日
我需要先将它转换为我想要的日期才可以对其进行更改,但我似乎无法转换它。因为如果我使用$createDate1 = new DateTime($date);
我会收到错误
答案 0 :(得分:2)
你可以使用:
$stripDay = date('d',strtotime('tuesday, 18 april 2017'));
$stripMonth = date('m',strtotime('tuesday, 18 april 2017'));
我的测试:
echo $stripDay ;
它打印18
答案 1 :(得分:1)
您可以使用日期php.net/manual/en/function.date.php来获得字符串的格式相当不错:
<finalName>${artifactId}-executable</finalName>