php中的日期格式给出了错误的结果

date format in php is giving wrong result

本文关键字:错误 结果 格式 日期 php      更新时间:2024-06-25

我创建了一个表单,如下所示:

<form action="test.php" method="POST" name="edituser">
<input type="text" id="to_date_picker" placeholder="Select Date" name="todate" class="input" size="50" />
<input name="addnew" type="submit" value="Add &amp; Save" id="submitbtn" />
</form>
<script type="text/javascript">
$(function() {
$('#to_date_picker').datepick();
});
</script>

test.php:如下所示:

$todate = $_POST['todate'];
$newtodate = date("Y-m-d", strtotime($todate));
 echo $newtodate."<br>'n";

这里它给出了错误的输出。这里的日期选择器是一个日历,从中选择日期。

您的日期格式是什么?因为日期选择的默认日期格式是"mm/dd/yyyy"strtotime接受此日期格式:

美国月份、日期和年份mm"/"dd"/"y"12/22/78"、"1/17/2006"、"1/16"

我认为您的日期选择返回了2006年1月17日。找这个。

您可以搜索mktime函数,然后可以解析日期时间以获得正确的格式。

使用此替代

$('#to_date_picker').datepick(
dateFormat: 'dd-mm-yy'
);

您可以使用新的DateTime($todate);如果你有PHP 5>=5.20,我认为它更容易使用。或者,如果您不想更改JavaScript返回的格式,请使用DateTime::createFromFormat方法('j-M-Y','15-Feb-2009');它从"自定义"日期返回DateTime对象(请参阅下面的文档链接)。

链接:http://www.php.net/manual/fr/datetime.construct.phphttp://www.php.net/manual/fr/datetime.createfromformat.php