JS獲取本周周一,周末及獲取任意時(shí)間的周一周末功能示例
本文實(shí)例講述了JS獲取本周周一,周末及獲取任意時(shí)間的周一周末功能。分享給大家供大家參考,具體如下:
項(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)會(huì)把周日作為第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, //小時(shí) "H+" : this.getHours(), //小時(shí) "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)會(huì)把周日作為第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:這里再為大家推薦幾款時(shí)間及日期相關(guān)工具供大家參考使用:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計(jì)算器/相差天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數(shù)差計(jì)算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript時(shí)間與日期操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
相關(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í)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11微信提示 在瀏覽器打開 效果實(shí)現(xiàn)過程解析
這篇文章主要介紹了微信提示 在瀏覽器打開 效果實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09asp(javascript)全角半角轉(zhuǎn)換代碼 dbc2sbc
asp與javascript 全角半角處理代碼2009-08-08JS箭頭函數(shù)和常規(guī)函數(shù)之間的區(qū)別實(shí)例分析【 5 個(gè)區(qū)別】
這篇文章主要介紹了JS箭頭函數(shù)和常規(guī)函數(shù)之間的區(qū)別,結(jié)合實(shí)例形式分析了JS箭頭函數(shù)和常規(guī)函數(shù)之間的 5 個(gè)區(qū)別與相關(guān)使用注意事項(xiàng),需要的朋友可以參考下2020-05-05javascript檢測對象中是否存在某個(gè)屬性判斷方法小結(jié)
檢測對象中屬性的存在與否可以通過以下幾種方法來判斷:使用in關(guān)鍵字、使用對象的hasOwnProperty()方法、用undefined判斷、在條件語句中直接判斷,感興趣的朋友可以了解下哈2013-05-05詳解用函數(shù)式編程對JavaScript進(jìn)行斷舍離
本篇文章主要介紹了用函數(shù)式編程對JavaScript進(jìn)行斷舍離,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09javascript全局變量封裝模塊實(shí)現(xiàn)代碼
javascript全局變量封裝模塊的應(yīng)用,本文將詳細(xì)介紹,需要了解更多的朋友可以參考下2012-11-11