【问题标题】:How can I get the total number of days fr a specific month and year using JQuery custom UI?如何使用 JQuery 自定义 UI 获取特定月份和年份的总天数?
【发布时间】:2011-08-15 05:43:51
【问题描述】:

在 JQuery datepicker 自定义 ui 中是否有任何功能,我可以通过传递月份名称和年份来获取总天数?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    只需使用常规 Javascript。不需要 jQuery。我不确定日期选择器返回什么,但如果你能得到像“2012”这样的年份和像“2”这样的月份:

    var year = 2012;
    var month = 2;
    var days = Math.round(((new Date(year, month))-(new Date(year, month-1)))/86400000);
    

    由于 2012 年是闰年,2 月是 2 月,因此上述代码日变为 29

    【讨论】:

      【解决方案2】:
      var y = 2012;
      var m = 2;
      var x = new Date(y,m,1,-1).getDate();
      alert(x);
      

      输出:29

      【讨论】:

      • 这比其他投票的答案更好吗?请添加更多详细信息。
      【解决方案3】:

      您可以使用以下方法传递日期,使用开始日期和结束日期:

      function parseDate(str) {
          var mdy = str.split('/')
          return new Date(mdy[2], mdy[0]-1, mdy[1]);
      }
      
      function daydifference(first, second) {
          return (second-first)/(1000*60*60*24)
      }
      
      //example
          alert(daydifference(parseDate($('#firstDate').val()), parseDate($('#endDate').val())));
      

      您可以查看更多链接:

      Jquery get total days from 2 inputs and display

      How do I get the number of days between two dates in JavaScript?

      【讨论】:

        【解决方案4】:
        var y = 2012;
        var m = 2;
        var x = new Date(y,m,1,-1).getDate();
        alert(x);
        

        解释上面的答案...(无法评论,因为我的声誉是

        它只是构造一个引用日期的新日期对象(记住月份值是 0-11,因此 m=2 表示三月)2012 年 3 月 1 日减去 1 小时,这反过来将给出 2014 年 2 月 29 日 23:00:00 和 .getDate () 做剩下的工作。

        由于简单、空间和时间复杂度较低,我认为它比其他被赞成的答案更好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-02-14
          • 1970-01-01
          • 2017-12-04
          • 2013-06-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-05-31
          相关资源
          最近更新 更多