Js中的一个日期处理格式化函数

由于在工作中,经常需要对日期进行格式化,不像后端那样,有方便的方法可调用,可以在date的对象prototype中定义一个format方法,见如下

// 日期时间原型增加格式化方法
Date.prototype.Format = function (formatStr) {
    var str = formatStr;
    var Week = ['日', '一', '二', '三', '四', '五', '六'];

    str = str.replace(/yyyy|YYYY/, this.getFullYear());
    str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
    var month = this.getMonth() + 1;
    str = str.replace(/MM/, month > 9 ? month.toString() : '0' + month);
    str = str.replace(/M/g, month);

    str = str.replace(/w|W/g, Week[this.getDay()]);

    str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
    str = str.replace(/d|D/g, this.getDate());

    str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
    str = str.replace(/h|H/g, this.getHours());
    str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
    str = str.replace(/m/g, this.getMinutes());

    str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
    str = str.replace(/s|S/g, this.getSeconds());
    return str;
}

调用的时候比较简单,

比如

var d = new Date();
var str = d.Format("yyyy-MM-dd  hh:mm:ss");
console.log(str);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript日期对象提供了许多方法和属性,可以通过它们来进行日期格式化。下面是一个简单的日期格式化函数,根据给定的格式将日期时间进行格式化。 /** * 日期格式化函数 * @param {Date} date - 日期对象 * @param {string} format - 日期格式 * @returns {string} 格式化后的日期字符串 */ function dateFormat(date, format) { const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); const hour = date.getHours(); const minute = date.getMinutes(); const second = date.getSeconds(); format = format.replace(/yyyy/g, year); format = format.replace(/MM/g, month < 10 ? '0' + month : month); format = format.replace(/dd/g, day < 10 ? '0' + day : day); format = format.replace(/HH/g, hour < 10 ? '0' + hour : hour); format = format.replace(/mm/g, minute < 10 ? '0' + minute : minute); format = format.replace(/ss/g, second < 10 ? '0' + second : second); return format; } 使用方法: const date = new Date(); console.log(dateFormat(date, 'yyyy-MM-dd HH:mm:ss')); // 2022-09-15 10:25:46 在调用dateFormat函数时,我们需要传入一个Date类型的对象一个格式化字符串。其,字符串的yyyy表示年份,MM表示月份,dd表示日期,HH表示小时,mm表示分钟,ss表示秒钟。在函数,我们使用正则表达式替换字符串的关键字,将其替换成对应的时间值。最后,返回的就是格式化后的日期字符串。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值