JavaScript DateTime格式化

來源:互聯網
上載者:User

        formatDate = function (date, format) {

            function stringRepeat(chr, count) {
                var str = "";
                for (var x = 0; x < count; x++) { str += chr };
                return str;
            }
            function stringPadL(s, width, pad) {
                if (!width || width < 1)
                    return s;

                if (!pad) pad = " ";
                var length = width - s.length
                if (length < 1) return s.substr(0, width);
                return (stringRepeat(pad, length) + s).substr(0, width);
            }
            function stringPadR(s, width, pad) {
                if (!width || width < 1)
                    return s;
                if (!pad) pad = " ";
                var length = width - s.length;
                if (length < 1) s.substr(0, width);
                return (s + stringRepeat(pad, length)).substr(0, width);
            }

            if (!format)
                format = "MM/dd/yyyy";
            var month = date.getMonth() + 1;
            var year = date.getFullYear();

            format = format.replace("MM", stringPadL(month.toString(), 2, "0"));

            if (format.indexOf("yyyy") > -1)
                format = format.replace("yyyy", year.toString());
            else if (format.indexOf("yy") > -1)
                format = format.replace("yy", year.toString().substr(2, 2));

            format = format.replace("dd", stringPadL(date.getDate().toString(), 2, "0"));

            var hours = date.getHours();

            if (format.indexOf("t") > -1) {
                if (hours > 11)
                    format = format.replace("t", "pm")
                else
                    format = format.replace("t", "am")
            }

            if (format.indexOf("HH") > -1)
                format = format.replace("HH", stringPadL(hours.toString(), 2, "0"));
            if (format.indexOf("hh") > -1) {
                if (hours > 12) hours - 12;
                if (hours == 0) hours = 12;
                format = format.replace("hh", stringPadL(hours.toString(), 2, "0"));
            }

            if (format.indexOf("mm") > -1)
                format = format.replace("mm", stringPadL(date.getMinutes().toString(), 2, "0"));
            if (format.indexOf("ss") > -1)
                format = format.replace("ss", stringPadL(date.getSeconds().toString(), 2, "0"));

            return format;
        };

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.