无法使用日期前一天的名称解析时间字符串

时间:2017-04-06 08:57:21

标签: php html datetime

我的数据库中有一个代表当天的字段。但是,如果我尝试将其解析为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);我会收到错误

2 个答案:

答案 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>