设置第一个和最后一个日期为10个月

时间:2017-02-06 07:16:56

标签: jquery datepicker

我正在尝试在cakephp中编写一个代码来自动设置从循环中获取的10个特定月份的第一个和最后一个月的日期。以下是表格截图。

我需要的是:如果月份是从日期开始的6月应该是2016年6月1日,并且到目前为止将是30/06/2016默认允许用户更改日期。这里应禁用其他月份和年份。同样,如果月份是7月,则应该是2017年7月1日至2016年7月31日。

这应该从当月开始持续10个月。以下是脚本

<script>
  //jQuery.noConflict();
  jQuery(document).ready(function () {

    $(".last_from_date").datepicker({
      dateFormat: "dd-mm-yy",
      changeMonth: false,
      maxDate: '0M',
      changeYear: true,
      yearRange: '1900:2020'
    });
    $(".last_to_date").datepicker({
      dateFormat: "dd-mm-yy",
      changeMonth: true,
      maxDate: '0M',
      changeYear: true,
      yearRange: '1900:2020'
    });

    $('.abc').click(function () {
      alert($(this).attr("id"));
      var id = $(this).attr("id");
      var a = id.split("-");
      var year = $.trim(a[0]);
      alert(year);
      var month = $.trim(a[1]);
      alert(month);

      var dat = new Date('1 ' + month + year);
      alert(dat.getMonth() + 1);
      //           alert(LastDayOfMonth(year,month));
      //            alert(x);
      //            $("#datepicker").datepicker("setMonth", newDate);


      var currentTime = new Date(dat);
      // First Date Of the month 
      var startDateFrom = new Date(currentTime.getFullYear(), currentTime.getMonth(), 1);
      //// Last Date Of the Month 
      var startDateTo = new Date(currentTime.getFullYear(), currentTime.getMonth() + 1, 0);
      $("#last_from_date_" + id).datepicker({

        dateFormat: 'dd.mm.yy',
        minDate: startDateFrom,
        maxDate: startDateTo
      });
    });

  });
</script>

带有记录的表单图像

enter image description here

每一行都有一个“abc”类,而from和to框是datepickers。

错误:我无法为这些设置日期。

1 个答案:

答案 0 :(得分:0)

我不确切知道如何在javascript中编写它,但正如你所说这是一个php中的cakephp应用程序,如果你知道年份和月份,它的工作原理如下:

  

$ firstdateofMonth = date(“Y-m-d”,strtotime(“$ year- $ month-1”));

     

$ lastdateofMonth = date(“Y-m-t”,strtotime(“$ year- $ month-1”));

(“t”始终是给定月份的最后一天)。