您的位置:首页 > Web前端 > JavaScript

JS常用的时间方法总结

2017-09-19 08:36 204 查看
这篇文章主要是分享几个比较常用的时间方法:时间格式化
获取前几天或后几天的日期
获取某月有多少天<
4000
/li>获取星期几
获取两个日期时间差

//格式化日期
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.$<span class="hljs-number">1</span>, (<span class="hljs-keyword">this</span>.getFullYear() + <span class="hljs-string">""</span>).substr(<span class="hljs-number">4</span> - RegExp.$1.length));
};
for(var k in o) {
if(new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(RegExp.$<span class="hljs-number">1</span>, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
};
return fmt;
};
//获取前几天或后几天的日期;正数表示前d天,负数表示后d天
Date.prototype.getWitchDate=function(d){
if(/(\d)/.test(d)){
d=this.getDate()+d;
this.setDate(d)
};
return this;
};
//获取某月有多少天
Date.prototype.getMonthTotalDay=function(){
this.setDate(32);
return 32-this.getDate();
};
//获取周几
Date.prototype.getWeek=function(d){
var week=['星期一','星期二','星期三','星期四','星期五','星期六','星期天'];
if(typeof d !== 'undefined'){
return week[parseInt(d)%7];
};
return week[this.getDay()];
};

//获取两个日期的时间差,单位秒
Date.prototype.getDateSecond=function(d){
if(typeof d === 'string'){
d=new Date(d);
}
var t1=this.getTime();
var t2=d.getTime();
return Math.floor(Math.abs(t1-t2)/1000);
};

[/code]用法:
var h = '当前时间是' + d.Format('yyyy-MM-dd hh:mm:ss')+'</br>';

h += '3天前是' + d.getWitchDate(-3).Format('yyyy-MM-dd hh:mm:ss')+'</br>';
h += '9月份有' + d.getMonthTotalDay()+'天</br>';
h += '今天是' + d.getWeek()+'</br>';
h += '今天距离2016年9月15日相差' + d.getDateSecond('2016/9/15') +'秒'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: