如何将DateFormat扩展JS改写为支持更多长尾词格式的日期显示?

2026-04-06 11:171阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计297个文字,预计阅读时间需要2分钟。

如何将DateFormat扩展JS改写为支持更多长尾词格式的日期显示?

javascriptfunction formatDate(date) { const pad=(number)=> number.toString().padStart(2, '0'); const quarters=['Q1', 'Q2', 'Q3', 'Q4']; const month=pad(date.getMonth() + 1); // 月份从0开始,所以+1 const day=pad(date.getDate()); const hour=pad(date.getHours()); const minute=pad(date.getMinutes()); const second=pad(date.getSeconds()); const quarter=quarters[date.getMonth()]; // 季度 const year=date.getFullYear(); const secondFraction=date.getMilliseconds().toString().padStart(3, '0');

return `${year}-${month}-${day} ${hour}:${minute}:${second}.${secondFraction} ${quarter}`;}

JS对Date 的重构实现Format

// 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "H+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }

如何将DateFormat扩展JS改写为支持更多长尾词格式的日期显示?
标签:重构实现F

本文共计297个文字,预计阅读时间需要2分钟。

如何将DateFormat扩展JS改写为支持更多长尾词格式的日期显示?

javascriptfunction formatDate(date) { const pad=(number)=> number.toString().padStart(2, '0'); const quarters=['Q1', 'Q2', 'Q3', 'Q4']; const month=pad(date.getMonth() + 1); // 月份从0开始,所以+1 const day=pad(date.getDate()); const hour=pad(date.getHours()); const minute=pad(date.getMinutes()); const second=pad(date.getSeconds()); const quarter=quarters[date.getMonth()]; // 季度 const year=date.getFullYear(); const secondFraction=date.getMilliseconds().toString().padStart(3, '0');

return `${year}-${month}-${day} ${hour}:${minute}:${second}.${secondFraction} ${quarter}`;}

JS对Date 的重构实现Format

// 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "H+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }

如何将DateFormat扩展JS改写为支持更多长尾词格式的日期显示?
标签:重构实现F