如何通过在php中手动添加天数来增加所选日期范围内的日期

时间:2018-10-25 08:43:03

标签: php jquery ajax codeigniter

这是我的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();
}

2 个答案:

答案 0 :(得分:0)

我喜欢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:00:00

以下是文档中的所有相对修改格式:

https://secure.php.net/manual/en/datetime.formats.relative.php

如果您发送的日期时间不是'Y-m-d H:i:s'格式,请使用DateTime::createFromFormat($customFormat, $dateTimeString);

答案 1 :(得分:0)

根据上面的代码,首先请从循环中删除exit(),因为它将在第一次迭代中终止脚本,因此将ext()放在外部,就像

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开始,因此它将在所选日期的+1 Day中将其视为strtotime。保持print_r($rdate)不变,然后检查输出。