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) { 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值