当我尝试编辑表单中的某些字段时,日期将重置为01-01-1970 01:00:00但是它的存储并首次完美地从数据库中检索其值。然后,当我编辑除日期以外的其他一些字段时,它会被重置。
在我的jQuery日期选择器下面:
<script>
$(document).ready(function(){
$("#policy_start_date").datepicker({
numberOfMonths: 1,
onSelect: function(selected) {
$("#policy_end_date").datepicker("option","minDate", selected)
}
});
$("#policy_end_date").datepicker({
numberOfMonths: 1,
onSelect: function(selected) {
$("#policy_start_date").datepicker("option","maxDate", selected)
}
});
});
</script>
POST DATA
$date_t=$_POST['policy_start_date'];
$datearr=explode('/',$date_t);
$month=$datearr[0];
$day=$datearr[1];
$year=$datearr[2];
$policy_start_date=$year."-".$month."-".$day;
//$policy_end_date = $_POST['policy_end_date'];
$date_t=$_POST['policy_end_date'];
$datearr=explode('/',$date_t);
$month=$datearr[0];
$day=$datearr[1];
$year=$datearr[2];
$policy_end_date=$year."-".$month."-".$day;
答案 0 :(得分:1)
通常会发生这种情况,因为db中存储的格式和datepicker发送/接受的格式。
标准的datepicker格式是09/03/2013(月/日)。
回显数据时文本框上显示的内容是什么? 1. 09/03/2013(月/日) 要么 2. 2013-09-13 00:00:00(Y-m-d H:i:s)
如果显示选项一(1),那么我们肯定需要查看显示您使用的表单的代码。
如果显示选项二(2),则需要在回显到文本框之前对其进行格式化。 用这个,
$time = strtotime($date_stored_in_database);
$your_date = date('Y/m/d',$time);
strtotime会将您在数据库中存储的日期转换为UNIX TIMESTAMP,而日期函数会将其转换为您需要的格式。