方法一
// 对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) { 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; }
调用方式:
var time1 = new Date().Format("yyyy-MM-dd");
var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");
方法二
/** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q)
可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
* eg:
* (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S")==> 2006-07-02 08:09:04.423
* (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04
* (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04
* (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04
* (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
*/
Date.prototype.pattern=function(fmt) { var o = { "M " : this.getMonth() 1, //月份 "d " : this.getDate(), //日 "h " : this.getHours() == 0 ? 12 : this.getHours(), //小时 "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)); } if(/(E )/.test(fmt)){ fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "星期" : "周") : "") "日一二三四五六".charAt(this.getDay())); } 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; }
调用方式:
var date = new Date();
console.log(date.pattern("yyyy-MM-dd EEE hh:mm:ss")); //2017-06-09 星期五 10:16:12 console.log(date.pattern("yyyy-MM-dd EE hh:mm:ss")); //2017-06-09 周五 10:16:12 console.log(date.pattern("yyyy-MM-dd E hh:mm:ss")); //2017-06-09 五 10:16:12
更多专业前端知识,请上 【猿2048】www.mk2048.com