代码之家  ›  专栏  ›  技术社区  ›  hous

jQuery,格式日期显示的格式不正确

  •  0
  • hous  · 技术社区  · 8 年前

    我想显示所选月份第一天的日期,但日期的格式没有显示正确的格式。

    我想这样展示 01/11/2017 但它是这样显示的

    2017年11月1日星期三00:00:00 GMT+0100(CET)

    Select a Date: <input type="date" id="theDate" onmouseout="getTheDays()"/>
    <p>First Day of the Month: <label id="fday"></label></p>
    <p>Last Day of the Month: <label id="lday"></label></p>
    
    <script>
        function getTheDays() {
    
            var dt = new Date($('#theDate').val());
    
            // GET THE MONTH AND YEAR OF THE SELECTED DATE.
            var month = dt.getMonth(),
                year = dt.getFullYear();
    
            // GET THE FIRST AND LAST DATE OF THE MONTH.
            var FirstDay = new Date(year, month, 1);
            var LastDay = new Date(year, month + 1, 0);
    
            // FINALLY, GET THE DAY.
            var weekday = new Array();
            weekday[0] = "Sunday";
            weekday[1] = "Monday";
            weekday[2] = "Tuesday";
            weekday[3] = "Wednesday";
            weekday[4] = "Thursday";
            weekday[5] = "Friday";
            weekday[6] = "Saturday";
    
    
            if (typeof weekday[FirstDay.getDay()] != 'undefined') {     // CHECK FOR 'undefined'.
                $('#fday').html(FirstDay.toString('dd-MM-yy'));
            }
            else {
                $('#fday').text('');
                $('#lday').text('');
            }
        }
    </script>
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   Jacob    8 年前

    我和你分享我们的 toShortDate 函数,给您:

    function toShortDate(date) {
        if (!date) {
            return '--/--/--';
        }
        var d = new Date(Date.parse(date)),
            days = d.getDate(),
            month = (d.getMonth() + 1),
            finalDays = days < 10 ? '0' + days : '' + days,
            finalMonth = month < 10 ? '0' + month : '' + month;
    
        return finalDays +
            "/" + finalMonth +
            "/" + d.getFullYear().toString().substr(2, 2);
    }
    

    这个功能已经在生产中运行了一段时间,并且工作得很好。祝你好运