JS獲取本周周一,周末及獲取任意時間的周一周末功能示例
本文實(shí)例講述了JS獲取本周周一,周末及獲取任意時間的周一周末功能。分享給大家供大家參考,具體如下:
項(xiàng)目需要獲取本周及任意一天的周一及周末 需格式化,示例代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>星期</title>
<script type="text/javascript" language="javascript" >
/**
* @author zhuyangxing
*/
(function() {
function util_date() {
var _today=new Date();
this.today=_today;
this.year=_today.getYear()+1900;//當(dāng)前年份
this.Month_a=_today.getMonth();
this.Month=this.Month_a+1;//當(dāng)前月份
this.day=_today.getDate();//當(dāng)前日期
this.date=_today.getDay()==0?7:_today.getDay();//本周第幾天 因系統(tǒng)會把周日作為第0天
this.Monday="";
this.Sunday="";
this.day_one="";
}
Date.prototype.pattern=function(fmt) {
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小時
"H+" : this.getHours(), //小時
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
var week = {
"0" : "/u65e5",
"1" : "/u4e00",
"2" : "/u4e8c",
"3" : "/u4e09",
"4" : "/u56db",
"5" : "/u4e94",
"6" : "/u516d"
};
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 ? "/u661f/u671f" : "/u5468") : "")+week[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;
},
util_date.prototype = {
newToday : function(_today){
this.today=_today;
this.year=_today.getYear()+1900;//當(dāng)前年份
this.Month_a=_today.getMonth();
this.Month=this.Month_a+1;//當(dāng)前月份
this.day=_today.getDate();//當(dāng)前日期
this.date=_today.getDay()==0?7:_today.getDay();//本周第幾天 因系統(tǒng)會把周日作為第0天
this.Monday="";
this.Sunday="";
this.day_one="";
},
getMonday:function(){
if(this.Monday.length!=0){
return this.Monday;
}else{
var _monday = new Date(this.year,this.Month_a,this.day-this.date+1);
this.Monday = _monday;
return _monday;
}
},
getSunday:function(){
if(this.Sunday.length!=0){
return this.Sunday;
}else{
var _Sunday = new Date(this.year,this.Month_a,this.day-this.date+7);
this.Sunday = _Sunday;
return _Sunday;
}
},
getPreviousMonday:function(Monday){
var _monday = new Date(Monday.getYear()+1900,Monday.getMonth(),Monday.getDate()-7);
return _monday;
},
getPreviousSunday:function(Monday){
var _Sunday = new Date(Monday.getYear()+1900,Monday.getMonth(),Monday.getDate()-1);
this.Sunday = _Sunday;
return _Sunday;
},
getNextMonday:function(Monday){
var _monday = new Date(Monday.getYear()+1900,Monday.getMonth(),Monday.getDate()+7);
return _monday;
},
getNextSunday:function(Monday){
var _Sunday = new Date(Monday.getYear()+1900,Monday.getMonth(),Monday.getDate()+13);
this.Sunday = _Sunday;
return _Sunday;
}
};
window.util_date = new util_date();
})();
document.write(window.util_date.getMonday().pattern("yyyy-MM-dd"));
</script>
</head>
<body >
</body>
</html>
如果需要可直接在項(xiàng)目中引入該文件 使用window.util_date.getMonday().pattern("yyyy-MM-dd");可獲得2017-1-24類型的字符串
window.util_date.newToday("2017-1-1");設(shè)置當(dāng)前日期
PS:這里再為大家推薦幾款時間及日期相關(guān)工具供大家參考使用:
在線日期/天數(shù)計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計算器/相差天數(shù)計算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數(shù)差計算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript時間與日期操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
Javascript中arguments對象的詳解與使用方法
ECMAScript中的函數(shù)并不介意傳遞的參數(shù)有多少,也不介意是什么類型。由于JavaScript允許函數(shù)有不定數(shù)目的參數(shù),所以我們需要一種機(jī)制,可以在 函數(shù)體內(nèi) 部讀取所有參數(shù)。這就是arguments對象的由來。這篇文章將詳細(xì)介紹Javascript中的arguments對象和使用方法。2016-10-10
關(guān)于JavaScript中異步/等待的用法與理解
這篇文章主要給大家介紹了關(guān)于JavaScript中異步/等待的用法與理解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
微信提示 在瀏覽器打開 效果實(shí)現(xiàn)過程解析
這篇文章主要介紹了微信提示 在瀏覽器打開 效果實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09
asp(javascript)全角半角轉(zhuǎn)換代碼 dbc2sbc
asp與javascript 全角半角處理代碼2009-08-08
JS箭頭函數(shù)和常規(guī)函數(shù)之間的區(qū)別實(shí)例分析【 5 個區(qū)別】
這篇文章主要介紹了JS箭頭函數(shù)和常規(guī)函數(shù)之間的區(qū)別,結(jié)合實(shí)例形式分析了JS箭頭函數(shù)和常規(guī)函數(shù)之間的 5 個區(qū)別與相關(guān)使用注意事項(xiàng),需要的朋友可以參考下2020-05-05
javascript檢測對象中是否存在某個屬性判斷方法小結(jié)
檢測對象中屬性的存在與否可以通過以下幾種方法來判斷:使用in關(guān)鍵字、使用對象的hasOwnProperty()方法、用undefined判斷、在條件語句中直接判斷,感興趣的朋友可以了解下哈2013-05-05
詳解用函數(shù)式編程對JavaScript進(jìn)行斷舍離
本篇文章主要介紹了用函數(shù)式編程對JavaScript進(jìn)行斷舍離,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
javascript全局變量封裝模塊實(shí)現(xiàn)代碼
javascript全局變量封裝模塊的應(yīng)用,本文將詳細(xì)介紹,需要了解更多的朋友可以參考下2012-11-11

