Как увеличить дату в диапазоне выбранной даты, вручную добавляя дни в php - PullRequest
0 голосов
/ 25 октября 2018

Здесь мой запрос 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 голосов
/ 25 октября 2018

Согласно приведенному выше коду, сначала удалите 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, поэтому он будет обрабатываться как +1 Day в strtotime для выбранной даты.Оставьте print_r($rdate) как есть, затем проверьте вывод.

0 голосов
/ 25 октября 2018

Мне нравится класс 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);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...