js 时间共通方法

本文探讨JavaScript中处理日期和时间的常见方法,包括获取当前时间、格式化日期、时间比较等,帮助前端开发者更好地进行时间相关的操作。
摘要由CSDN通过智能技术生成
var DateUtil = {

    // 日期常用格式
    formats: {
        NORM_DATE_PATTERN: "yyyy-MM-dd",
        NORM_TIME_PATTERN: "HH:mm:ss",
        NORM_DATETIME_MINUTE_PATTERN: "yyyy-MM-dd HH:mm",
        NORM_DATETIME_MONTH_PATTERN: "yyyy-MM",
        NORM_DATETIME_PATTERN: "yyyy-MM-dd HH:mm:ss",
        NORM_DATETIME_MS_PATTERN: "yyyy-MM-dd HH:mm:ss.SSS",
        CHINESE_DATE_PATTERN: "yyyy年MM月dd日",
        PURE_DATE_PATTERN: "yyyyMMdd",
        PURE_TIME_PATTERN: "HHmmss",
        PURE_DATETIME_PATTERN: "yyyyMMddHHmmss",
        PURE_DATETIME_MS_PATTERN: "yyyyMMddHHmmssSSS"
    },

    /**
     * 获取当前时间
     * @returns date
     */
    now: function () {
        return new Date();
    },

    /**
     * 获取当前时间
     * @param date_format 默认yyyy-MM-dd 可自定义格式
     * @returns 当前时间 字符串
     */
    nowStr: function (date_format) {
        date_format = date_format ? date_format : this.formats.NORM_DATE_PATTERN;
        return this.format(date_format);
    },

    /**
     * 时间转字符串
     *
     * @param fmt 时间格式
     * @param date 时间 默认当前时间
     * @returns string 格式化后的时间
     */
    format: function (fmt, date) {
        fmt = fmt ? fmt : this.formats.NORM_DATE_PATTERN;
        date = date ? date : this.now();
        var map = {
            "M": date.getMonth() + 1, //月份
            "d": date.getDate(), //日
            "h": date.getHours(), //小时
            "H": date.getHours(), //小时
            "m": date.getMinutes(), //分
            "s": date.getSeconds(), //秒
            "q": Math.floor((date.getMonth() + 3) / 3), //季度
            "S": date.getMilliseconds() //毫秒
        };
        fmt = fmt.replace(/([yMdhHmsqS])+/g, function (all, t) {
            var v = map[t];
            if (v !== undefined) {
                if (all.length > 1) {
                    v = '0' + v;
                    v = v.substr(v.length - 2);
                }
                return v;
            } else if (t === 'y') {
                return (date.getFullYear() + '').substr(4 - all.length);
            }
            return all;
        });
        return fmt;
    },

    /**
     * 获取周第一天
     *
     * @param date 字符串或date类型的时间
     * @param toStr 是否返回字符串  (true:返回字符串 否则返回date)
     * @param format toStr=&#
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值