这是我的jquery ajax请求,
我正在尝试将所选日期或手动增加天数值发送到控制器
function myFunction(selected_first_date){
var get_my_value = $('#get_my_value').val();
$.ajax({
url :"<?php echo base_url();?>index.php/holiday_package_controller/PackageController/dateChangerFunction",
type:"POST",
data:{
get_my_value:get_my_value,
selected_first_date:selected_first_date
},
dataType: "json",
success: function(data){
//$('#cash_receipt_voucher_date').html(data);
console.log(data);
$('#incremented_date').val(data.incremented_date);
}
});
}
控制器
$get_my_value = $this->input->post("get_my_value");
$selected_first_date = $this->input->post("selected_first_date");
if(!empty($selected_first_date)){
for($i=0; $i<=$get_my_value; $i++)
$repeat = strtotime("+$i day",strtotime($selected_first_date));
$rdate = date('Y-m-d',$repeat);
print_r($rdate);
exit();
}
我喜欢 DateTime 类来做这样的事情 https://3v4l.org/g9v53:
<?php
$date = new DateTime('2014-09-18 10:00:00');
$date->modify('+12 hours');
echo $date->format('Y-m-d H:i:s');
2014-09-18 22:01:00
以下是文档中所有相关的修改格式:
https://secure.php.net/manual/en/datetime.formats.relative.php
如果您要发送的日期时间不是'Y-m-d H:i:s'
格式,请使用DateTime::createFromFormat($customFormat, $dateTimeString);
根据上面的代码,首先请从循环中删除 exit((,因为它会在第一次迭代中终止脚本,所以把 exit(( 放在外面,就像
for($i=1; $i<=$get_my_value; $i++) {
$repeat = strtotime("+$i day",strtotime($selected_first_date));
$rdate = date('Y-m-d',$repeat);
print_r($rdate);
}
exit();
此外,我已将$i更改为从 1 开始,因此它会将其视为所选日期的strtotime
+1 Day
。保持print_r($rdate)
原样,然后检查输出。