首先是一个将日期格式化方法
//日期格式化
Date.prototype.fDate = function (mould) {
var fdate = this
var o = {};
o.M = fdate.getMonth() + 1; //月
o.d = fdate.getDate(); //日
o.h = fdate.getHours(); //小时
o.m = fdate.getMinutes(); //分
o.s = fdate.getSeconds(); //秒
var weekname = ['', '周', '星期']
var week = ["日", "一", "二", "三", "四", "五", "六"]
//处理星期
if (/(W+)/.test(mould)) {
var w = fdate.getDay() + "";
mould = mould.replace(RegExp.$1, weekname[RegExp.$1.length - 1] + week[w]);
}
//处理年
if (/(y+)/.test(mould)) {
var y = fdate.getFullYear() + "";
mould = mould.replace(RegExp.$1, y.substr(-RegExp.$1.length));
}
//循环处理月,日,时,分,秒
for (var key in o) {
if (new RegExp("(" + key + "+)").test(mould)) {
var str = o[key] + "";
mould = mould.replace(RegExp.$1, RegExp.$1.length == 1 ? str : ('0000' + str).substr(-RegExp.$1.length));
}
}
return mould;
}
使用示例:
/*
* 这里的格式为:yyyy年MM月dd日 hh:mm:ss (MMM)
* 则输出结果为:2018年10月24日 09:24:02 (星期三)
*/
var date = new Date();
console.log(date.fDate('yyyy年MM月dd日 hh:mm:ss (MMM)'));
下边是一个调整日期的方法
//调整日期
Date.prototype.tunDate = function (o) {
var fun = { y: 'FullYear', M: 'Month', d: 'Date', h: 'Hours', m: 'Minutes', s: 'Seconds' }
for (var key in o) {
this['set' + fun[key]](this['get' + fun[key]]() + o[key]);
}
return this;
}
使用示例:
/*
* 结合上边的日期格式化组合使用
* 向后推迟一个月少一天
* 则输出结果为:2018年11月23日 09:24:02 (星期五)
*/
var date = new Date();
console.log(date.tunDate({M: 1,d: -1}).fDate('yyyy年MM月dd日 hh:mm:ss (MMM)'));
网友评论