【问题标题】:jQuery - Display all dates (in numbers) in current monthjQuery - 显示当前月份的所有日期(以数字形式)
【发布时间】:2017-12-21 06:40:04
【问题描述】:

我怎样才能显示一个月内的所有日期@下面的格式

当月所有天数:1、2、3、4、5、6、7、8、9、10、... 31

HTML

<div id="allDates"></div>

jQuery

$(document).ready(function(){
    var d = new Date();
    var allDates = d.getDate();
    $('#allDates').html('All days in current month:' + '<br>' + allDates);
});

【问题讨论】:

标签: jquery


【解决方案1】:

使用日期构造函数生成月份的第一个日期和月份的最后一个日期,然后将所有日期推送到一个数组中并显示它。

$(document).ready(function(){
    var today = new Date(),
    firstDay = new Date(today.getFullYear(), today.getMonth(), 1),
    lastDay = new Date(today.getFullYear(), today.getMonth() + 1, 0),
    result = [];

    while(firstDay <= lastDay){
      result.push(firstDay.getDate());
      firstDay.setDate(firstDay.getDate() + 1);
    }

    $('#allDates').html('All days in current month:' + '<br>' + result.join(','));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="allDates"></div>

使用这个stackoverflow solution

function daysInMonth(month,year) {
    return new Date(year, month, 0).getDate();
}

$(document).ready(function(){
    var today = new Date(),
    days = daysInMonth(today.getMonth() + 1, today.getFullYear()),
    result = Array.from({length:days}, (_,i) => i+1).join(',');
    $('#allDates').html('All days in current month:' + '<br>' + result);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="allDates"></div>

【讨论】:

    【解决方案2】:

    var d = new Date();
    var LastDay = 32 - new Date(d.getFullYear(), d.getMonth(), 32).getDate();
    var Output = "";
    for (var i = 0; i < LastDay - 1; i++) {
        Output += (i + 1) + ", ";
    }
    document.write(Output);

    【讨论】:

    • 按对象填充它然后字符串化它会区分尾随逗号
    【解决方案3】:

    使用这个

    $(document).ready(function(){
      var d = new Date();
        var numberOfDays = getDaysInMonth(d.getMonth() + 1, d.getFullYear())
        var allDates = ''
      for (var i = 1; i <= numberOfDays; i++) {
        allDates += i + ' '
      }
    
      $('#allDates').html('All days in current month:' + '<br>' + allDates);
    });
    function getDaysInMonth(month,year) {
      return new Date(year, month, 0).getDate();
    }
    

    【讨论】:

      【解决方案4】:

      这是另一个转折点,获取当月的最后一天,然后循环获取输出为

      var getDaysInMonth = function(month,year) {
        // Here January is 1 based
        //Day 0 is the last day in the previous month
       return new Date(year, month, 0).getDate();
      // Here January is 0 based
      // return new Date(year, month+1, 0).getDate();
      };
      
      $(document).ready(function(){
        var d = new Date();
          var lastdayOfmonth = getDaysInMonth(d.getMonth() , d.getFullYear())
          var allDates = ''
        for (var i = 1; i <= lastdayOfmonth; i++) {
          allDates += i + ' '
        }
      
        $('#allDates').html('Current month dates :' + '<br>' + allDates);
      });
      

      请参考此链接:- https://www.w3resource.com/javascript-exercises/javascript-date-exercise-3.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-17
        • 2011-03-31
        相关资源
        最近更新 更多