PHP Strtotime返回日期错误的Date

时间:2018-11-07 10:27:43

标签: php validation date

我要输入此日期:

$user_entered_date = '30 November, 2020';

当我使用此命令更改日期格式时

$new_user_entered_date = date( 'Y-m-d', strtotime($user_entered_date) );

那么结果是:

2018-11-30

告诉我该问题的解决方案是什么或我错了。

3 个答案:

答案 0 :(得分:4)

您的错误是逗号','您不必像这样:

$user_entered_date = '30 November 2020';

答案 1 :(得分:2)

如果无法控制输入格式,则需要使用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;

答案 2 :(得分:1)

使用逗号,它将忽略2020年,只需要11月30日 因此,形成的日期为2018年,答案不加逗号