无法在php中获得正确的日期格式



我试图改变日期格式,但它显示我错误的结果(显示我1970-01-01),我怎么能解决这个问题,我想要动态日期"Y-m-d"这是我的代码

$start_date2=$_POST['start_date']; //showing 10-30-2022
echo $new_date = date("Y-m-d", strtotime($start_date2)); // showing 1970-01-01

$start_date2=$_POST['start_date'];中即将到来的日期格式不正确,这就是为什么您得到不正确的结果

因此您需要首先纠正其格式,然后尝试将其格式更改为您想要的格式。检查下面的代码

<?php
$start_date2='10-30-2022'; //date format inccorect
$start_date2=str_replace('-','/',$start_date2); // correct date format
echo $new_date = date("Y-m-d", strtotime($start_date2)); // now you will get correct result

https://3v4l.org/dQHHA

参考:PHP日期格式

重要提示:如果可能的话,尝试更改HTML表单本身的日期字段格式,然后您可以直接执行:$new_date = date("Y-m-d", strtotime($start_date2));

如果POST值"显示10-30-2022",那你就做错了。

当你在表单中有一个日期字段时,它应该看起来像:

<input type="date" name="start_date" />

上面的代码将以'Y-m-d'的格式发布一个日期值。

这使得你的date("Y-m-d", strtotime($start_date2));多余。

相关内容

  • 没有找到相关文章

最新更新