关于几个js获取当前时间和处理返回数据改变时间格式的函数

本文介绍了一种JavaScript方法来格式化日期字符串,并提供了一个函数用于获取指定格式的当前日期及过去几个月的日期。通过正则表达式匹配日期元素并进行填充以适应不同的格式需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    

var SIGN_REGEXP = /([yMdhsm])(\1*)/g;
var DEFAULT_PATTERN = 'yyyy-MM-dd';
function padding(slen) {
    var len = len - (s + '').length;
    for (var i = 0i < leni++) {
        s = '0' + s;
    }
    return s;
};

  formatStr: function (Adatestrpattern) {
            if (!Adatestrreturn '';
            var date = new Date(Date.parse(Adatestr));//使用下面的函数,传过来的一定要是一个对象
            pattern = pattern || DEFAULT_PATTERN;
            return pattern.replace(SIGN_REGEXPfunction ($0) {
                switch ($0.charAt(0)) {
                    case 'y':
                        return padding(date.getFullYear(), $0.length);
                    case 'M':
                        return padding(date.getMonth() + 1$0.length);
                    case 'd':
                        return padding(date.getDate(), $0.length);
                    case 'w':
                        return date.getDay() + 1;
                    case 'h':
                        return padding(date.getHours(), $0.length);
                    case 'm':
                        return padding(date.getMinutes(), $0.length);
                    case 's':
                        return padding(date.getSeconds(), $0.length);
                }
            });
        },

//这是处理服务器那边的数格式

获取任意前几个月或者当前时间
       getNowFormatDate: function (arr) {
            var date = new Date();
            var seperator1 = "-";
            var seperator2 = ":";
            var month = date.getMonth() + 1;
            var strDate = date.getDate();
            if (Number(strDate) >= 0 && Number(strDate) <= 9) {
                strDate = "0" + strDate;
            }
            if (arr == 'upperday') {
                month = month - 1;
            } else if (arr == 'threeday') {
                month = month - 3;
            } else if (arr == 'sixday') {
                month = month - 6;
            }
            if (Number(month) >= 1 && Number(month) <= 9) {
                month = "0" + month;
            }

            var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
                + " " + date.getHours() + seperator2 + date.getMinutes()
                + seperator2 + date.getSeconds();
            var threedate = date.getFullYear() + seperator1 + month + seperator1 + strDate;
            if (arr == 'threeday' || arr == 'upperday' || arr == 'sixday') {
                return threedate;
            } else {
                return currentdate;
            }

        },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值