Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法分析日期前一天的名称为的时间字符串_Php_Html_Datetime - Fatal编程技术网

Php 无法分析日期前一天的名称为的时间字符串

Php 无法分析日期前一天的名称为的时间字符串,php,html,datetime,Php,Html,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'); $stripMon

我的数据库中有一个字段,表示当天。但如果我尝试将其解析为日期时间,则会出现以下错误:

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=newdatetime($date)我收到一个错误

您可以使用:

$stripDay = date('d',strtotime('tuesday, 18 april 2017'));
$stripMonth = date('m',strtotime('tuesday, 18 april 2017'));
我的测试:

echo $stripDay ;
它可以打印18个

您可以使用:

$stripDay = date('d',strtotime('tuesday, 18 april 2017'));
$stripMonth = date('m',strtotime('tuesday, 18 april 2017'));
我的测试:

echo $stripDay ;

它打印18

您可以使用date php.net/manual/en/function.date.php很好地获得字符串的格式:

$date = '2017-01-01 11:11:11';

$day    = date('d', strtotime($date));
$month  = date('m', strtotime($date));
$year   = date('Y', strtotime($date));
$hour   = date('H', strtotime($date));
$minute = date('i', strtotime($date));
$second = date('s', strtotime($date));

您可以使用date php.net/manual/en/function.date.php很好地获得字符串的格式:

$date = '2017-01-01 11:11:11';

$day    = date('d', strtotime($date));
$month  = date('m', strtotime($date));
$year   = date('Y', strtotime($date));
$hour   = date('H', strtotime($date));
$minute = date('i', strtotime($date));
$second = date('s', strtotime($date));


不工作,给我1个月的回报,但也day@HuubS请在此处打印您的$日期,请参见上面的我的编辑。我的$date是2017年4月18日星期二,不起作用,给我一个月的1分,但也day@HuubS请在此处打印您的$日期,请参见上面的我的编辑。我的$date是2017年4月18日星期二,不起作用,给我1个月的时间,但也给我一天的时间。此外,我无法创建DateTime,因为它会给我上述错误:$createDate=new DateTime($date);在此处打印您的日期以上数据再次返回1。好的,我发现了问题!!因为我的字符串是荷兰语的,所以当我将荷兰语日期插入日期字段时,会返回1。是否有命令将日期更改为英语,或将日期更改为Dutch这是另一个问题,但我已将您的答案标记为正确,我将搜索荷兰语日期语言转换的解决方案不起作用,给我一个月的时间,但也给我一天的时间。此外,我无法创建DateTime,因为它会给我上述错误:$createDate=new DateTime($date);在此处打印您的日期以上数据再次返回1。好的,我发现了问题!!因为我的字符串是荷兰语的,所以当我将荷兰语日期插入日期字段时,会返回1。是否有命令将日期更改为英语,或将日期更改为Dutch这是另一个问题,但我已将您的答案标记为正确,我将搜索荷兰语日期转换的解决方案2017年4月16日是星期日而不是星期二???抱歉,这是一个打字错误。我发现了问题所在。这是因为原始字符串(2017年4月18日,星期二)是荷兰语(2017年4月18日,丁斯达克)2017年4月16日是星期日而不是星期二???抱歉,这是一个拼写错误。我发现了问题所在。因为原始字符串(2017年4月18日,星期二)是荷兰语(dinsdag,2017年4月18日)