美文网首页
2020-09-04 JS Date日期工具函数

2020-09-04 JS Date日期工具函数

作者: 忆丶往 | 来源:发表于2020-09-04 15:23 被阅读0次
//dataTimeStr  的格式为 "2020年09月04日 08时" (yyyy年MM月dd日 HH时 )

dateUtils.formatDate(
dateUtils.calculateDate(
dateUtils.parseDate(dataTimeStr, "yyyy年MM月dd日 HH时"),
 "hh", "024"), 
"yyyy年MM月dd日 HH时");
//dateUtils

/*数字前补0*/
    prefixInteger: function (num, length) {
        return (Array(length).join('0') + num).slice(-length);
    },

//格式化日期 date: Fri Sep 04 2020 08:00:00 GMT+0800 (中国标准时间) 

    formatDate: function (date, fmt) {
        date = date == undefined ? new Date() : date;
        date = typeof date == 'number' ? new Date(date) : date;
        fmt = fmt || 'yyyy-MM-dd HH:mm:ss';
        var obj =
            {
                'y': date.getFullYear(),
                'M': date.getMonth() + 1,
                'd': date.getDate(),
                'q': Math.floor((date.getMonth() + 3) / 3),
                'w': date.getDay(),
                'H': date.getHours(),
                'h': date.getHours() % 12 == 0 ? 12 : date.getHours() % 12,
                'm': date.getMinutes(),
                's': date.getSeconds(),
                'S': date.getMilliseconds()
            };
        var week = ['天', '一', '二', '三', '四', '五', '六'];
        for (var i in obj) {
            fmt = fmt.replace(new RegExp(i + '+', 'g'), function (m) {
                var val = obj[i] + '';
                if (i == 'w') return (m.length > 2 ? '星期' : '周') + week[val];
                for (var j = 0, len = val.length; j < m.length - len; j++) val = '0' + val;
                return m.length == 1 ? val : val.substring(val.length - m.length);
            });
        }
        return fmt;
    },

//返回的时间格式为:  Fri Sep 04 2020 08:00:00 GMT+0800 (中国标准时间) 
    parseDate: function (str, fmt) {
        fmt = fmt || 'yyyy-MM-dd';
        var obj = {y: 0, M: 1, d: 0, H: 0, h: 0, m: 0, s: 0, S: 0};
        fmt.replace(/([^yMdHmsS]*?)(([yMdHmsS])\3*)([^yMdHmsS]*?)/g, function (m, $1, $2, $3, $4, idx, old) {
            str = str.replace(new RegExp($1 + '(\\d{' + $2.length + '})' + $4), function (_m, _$1) {
                obj[$3] = parseInt(_$1);
                return '';
            });
            return '';
        });
        obj.M--;
        var date = new Date(obj.y, obj.M, obj.d, obj.H, obj.m, obj.s);
        if (obj.S !== 0) date.setMilliseconds(obj.S);
        return date;
    },


    calculateDate: function (date, type, num) {
        date = date == undefined ? new Date() : date;
        date = typeof date == 'number' ? new Date(date) : date;
        var times = date.getTime();
        switch (type) {
            case 'dd':
                times = times + num * 24 * 60 * 60 * 1000;
                break;
            case 'hh':
                times = times + num * 60 * 60 * 1000;
                break;
            case 'mm':
                times = times + num * 60 * 1000;
                break;
            case 'ss':
                times = times + num * 1000;
                break;
            default:
                times = times;
        }
        return new Date(times);
    },


    getIntervalHour: function (startDate, endDate) {
        var ms = endDate.getTime() - startDate.getTime();
        if (ms < 0) return 0;
        return Math.floor(ms / 1000 / 60 / 60);
    },

\color{pink}{写的潦草,谅解!!!}

相关文章

网友评论

      本文标题:2020-09-04 JS Date日期工具函数

      本文链接:https://www.haomeiwen.com/subject/roqzsktx.html