js日期格式转换,输出指定格式

        /**
         *  日期格式转换,输出指定格式
         * @param dateStr 日期字符串 支持格式:
         *  2016-02-03 12:22:34
         *  2016/02/03 12:22:34
         *  2016年02月03日 12:22:34
         *  1472639579(10位的unix时间戳)
         *  20160912
         *  20160912 09:12:34
         * @param type 转换类型 d:反回日、md:返回月日、ymd:返回年月日、hi:返回时分、his:返回时分秒
         * @param separate 分隔符。 分隔符为 ch时返回时间类型如:2016年08月09日
         */
        function parseDate(dateStr, type, separate) {
            dateStr = this.trim(dateStr.toString());
            if (separate == "" || separate == undefine) {
                separate = "";
            }
            var date;
            if (dateStr.indexOf("年") > 0) {
                var str = dateStr.replace(/日/g, "")
                date = new Date(Date.parse(str.replace(/年|月/g, "/")));
            } else if (dateStr.indexOf("-") > 0 || dateStr.indexOf("/") > 0) {
                date = new Date(Date.parse(dateStr.replace(/-/g, "/")));
            } else if (dateStr.length == 10) {
                date = new Date(dateStr * 1000);
            } else if (dateStr.length == 8 || dateStr.length == 17) {
                var str = dateStr.substring(0, 4) + "/" + dateStr.substring(4, 6) + "/" + dateStr.substring(6, 8) + " " + dateStr.substring(8);
                date = new Date(Date.parse(str));
            } else {
                date = new Date(dateStr);
            }
            //year
            var y = date.getFullYear();
            //month
            var m = date.getMonth() + 1;
            //day
            var d = date.getDate();
            //hour
            var h = date.getHours();
            //minute
            var i = date.getMinutes();
            //second
            var s = date.getSeconds();
            m = m < 10 ? "0" + m : m;
            d = d < 10 ? "0" + d : d;
            h = h < 10 ? "0" + h : h;
            i = i < 10 ? "0" + i : i;
            if (type == "d") {
                return d;
            } else if (type == "y") {
                return y;
            } else if (type == "md") {
                if (separate == "ch") {
                    return m + "月" + d + "日";
                } else {
                    return m + separate + d;
                }
            } else if (type == "ymd") {
                if (separate == "ch") {
                    return y + "年" + m + "月" + d + "日";
                } else {
                    return y + separate + m + separate + d;
                }
            } else if (type == "ymdhi") {
                if (separate == "ch") {
                    return y + "年" + m + "月" + d + "日 " + h + "时" + i + "分";
                } else {
                    return y + separate + m + separate + d + " " + h + ":" + i;
                }
            } else if (type == "hi") {
                if (separate == "ch") {
                    return h + "时" + i + "分";
                } else {
                    return h + ":" + i;
                }
            } else if (type == "his") {
                if (separate == "ch") {
                    return h + "时" + i + "分" + s + "秒";
                } else {
                    return h + ":" + i + ":" + s;
                }
            } else {
                if (separate == "ch") {
                    return y + "年" + m + "月" + d + "日 " + h + "时" + i + "分" + s + "秒";
                } else {
                    return y + separate + m + separate + d + " " + h + ":" + i + ":" + s;
                }
            }
        }

你可能感兴趣的:(js日期格式转换,输出指定格式)