js Date 时间格式化的扩展

Posted 行与止

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js Date 时间格式化的扩展相关的知识,希望对你有一定的参考价值。

js Date 时间格式化的扩展:

 1 Date.prototype.format = function (fmt) {
 2     var o = {
 3         "M+": this.getMonth() + 1, //
 4         "d+": this.getDate(), //
 5         "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //
 6         "H+": this.getHours(), //小时           
 7         "m+": this.getMinutes(), //
 8         "s+": this.getSeconds(), //
 9         "q+": Math.floor((this.getMonth() + 3) / 3), //
10         "S": this.getMilliseconds() //毫秒           
11     };
12     var week = {
13         "0": "\u65e5",
14         "1": "\u4e00",
15         "2": "\u4e8c",
16         "3": "\u4e09",
17         "4": "\u56db",
18         "5": "\u4e94",
19         "6": "\u516d"
20     };
21     if (/(y+)/.test(fmt)) {
22         fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
23     }
24     if (/(E+)/.test(fmt)) {
25         fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f" : "\u5468") : "") + week[this.getDay() + ""]);
26     }
27     for (var k in o) {
28         if (new RegExp("(" + k + ")").test(fmt)) {
29             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
30         }
31     }
32     return fmt;
33 }

使用方法如下:

var date = new Date("2016-03-11T16:20:12");
$("#divResult").html(date.format("yyyy-MM-dd EE HH:mm:ss"));

以上是关于js Date 时间格式化的扩展的主要内容,如果未能解决你的问题,请参考以下文章

js常用代码片段(更新中)

js 格式化日期 ("/Date(1400046388387)/")

Date.prototype.format,js下的时间格式处理函数

JS Date对象扩展

jquery扩展date日期格式化显示

js中关于date()的扩展