js 日期格式化
网上拷贝的,好用留着。
1 // 对Date的扩展,将 Date 转化为指定格式的String 2 // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 3 // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 4 // 例子: 5 // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 6 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 7 Date.prototype.fmt = function (fmt) { //author: meizz 8 var o = { 9 "M+": this.getMonth() + 1, //月份 10 "d+": this.getDate(), //日 11 "h+": this.getHours(), //小时 12 "m+": this.getMinutes(), //分 13 "s+": this.getSeconds(), //秒 14 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 15 "S": this.getMilliseconds() //毫秒 16 }; 17 if (/(y+)/.test(fmt)) { 18 fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); 19 } 20 for (var k in o) 21 if (new RegExp("(" + k + ")").test(fmt)) 22 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); 23 return fmt; 24 25 }
// 原形添加设定时间方法 Date.prototype.SetTime = function (h, m, s) { this.setHours(h); this.setMinutes(m); this.setSeconds(s); this.setMilliseconds(0); return this; }; // 拷贝日期部分 Date.prototype.CopyDate = function (date) { this.setFullYear(date.getFullYear()); this.setMonth(date.getMonth()); this.setDate(date.getDate()); return this; }; // 将小时和分钟清零 Date.prototype.Clear = function () { this.setMinutes(0); this.setSeconds(0); return this; }; /* 将日期字符串转化为日期 */ Date.prototype.fromStr = function (dateStr) { var datetime = dateStr.split(' '); var date = datetime[0].split(/[-//]/); this.setFullYear(Number(date[0])); this.setMonth(Number(date[1])-1); this.setDate(Number(date[2])); var time = datetime[1].split(':'); this.setHours(Number(time[0])); this.setMinutes(Number(time[1])); this.setSeconds(Number(time[2])); this.setMilliseconds(0); return this; }; /* 后推xx天 */ Date.prototype.addDays = function (days) { var ms = days * 24 * 60 * 60 * 1000; var newTime = this.getTime() + ms; this.setTime(newTime); return this; }; /* 后推xx小时 */ Date.prototype.addHours = function (hours) { var ms = hours * 60 * 60 * 1000; var newTime = this.getTime() + ms; this.setTime(newTime); return this; }; /* 后推xx分钟 */ Date.prototype.addMins = function (mins) { var ms = mins * 60 * 1000; var newTime = this.getTime() + ms; this.setTime(newTime); return this; };
posted on 2018-08-05 09:53 jonney_wang 阅读(127) 评论(0) 编辑 收藏 举报