Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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 strOTIME返回日期的日期错误_Php_Validation_Date - Fatal编程技术网

PHP strOTIME返回日期的日期错误

PHP strOTIME返回日期的日期错误,php,validation,date,Php,Validation,Date,我正在输入这个日期: $user_entered_date = '30 November, 2020'; 当我使用此命令更改日期格式时 $new_user_entered_date = date( 'Y-m-d', strtotime($user_entered_date) ); 结果是: 2018-11-30 告诉我这个问题的解决方案是什么,或者我错在哪里。你的错误是逗号“,”你必须这样做: $user_entered_date = '30 November 2020'; 如果无法控制输

我正在输入这个日期:

$user_entered_date = '30 November, 2020';
当我使用此命令更改日期格式时

$new_user_entered_date = date( 'Y-m-d', strtotime($user_entered_date) );
结果是:

2018-11-30


告诉我这个问题的解决方案是什么,或者我错在哪里。

你的错误是逗号“,”你必须这样做:

$user_entered_date = '30 November 2020';

如果无法控制输入格式,则需要使用createFromFormat

$user_entered_date = DateTime::createFromFormat('d M, Y', '30 November, 2020');
$new_user_entered_date = date_format($user_entered_date, 'Y-m-d');

echo $new_user_entered_date;

用逗号表示,它忽略了2020年,只需要11月30日
因此,形成的日期是2018年,在回答中使用不带逗号的选项

尝试“2020年11月30日”而不使用逗号^tested this and it worked似乎逗号使此函数认为您的意思是
20:20:00
<代码>2020年11月30日按预期工作。