摘要:因為項目開發(fā)中遇到需要向后臺傳本周的開始和結(jié)束時間,以及上一周的起止時間,就琢磨了半天,總算寫出來一套,寫篇文章是為了方便自己記憶,也是分享給需要的人,水平有限,寫的不好請見諒函數(shù)是為了把時間對象轉(zhuǎn)變?yōu)榈淖址?,方便傳值函?shù)是獲取周的起
因為項目開發(fā)中遇到需要向后臺傳本周的開始和結(jié)束時間,以及上一周的起止時間,就琢磨了半天,總算寫出來一套,寫篇文章是為了方便自己記憶,也是分享給需要的人,水平有限,寫的不好請見諒:
getDateStr3函數(shù)是為了把時間對象轉(zhuǎn)變?yōu)閥y-mm-dd的字符串,方便傳值;
getWeekStartAndEnd函數(shù)是獲取周的起止時間,并且用getDateStr3轉(zhuǎn)換成字符串放到數(shù)組中,其中參數(shù)0代表當(dāng)前周,-1代表前一周,-2代表上上周,以此類推,反過來也可以1代表下一周;
getMonthStartAndEnd函數(shù)是獲取月的起止時間,傳參同上
//獲取當(dāng)前日期yy-mm-dd //date 為時間對象 function getDateStr3(date) { var year = ""; var month = ""; var day = ""; var now = date; year = ""+now.getFullYear(); if((now.getMonth()+1)<10){ month = "0"+(now.getMonth()+1); }else{ month = ""+(now.getMonth()+1); } if((now.getDate())<10){ day = "0"+(now.getDate()); }else{ day = ""+(now.getDate()); } return year+"-"+month+"-"+day; } /** * 獲得相對當(dāng)前周AddWeekCount個周的起止日期 * AddWeekCount為0代表當(dāng)前周 為-1代表上一個周 為1代表下一個周以此類推 * **/ function getWeekStartAndEnd(AddWeekCount) { //起止日期數(shù)組 var startStop = new Array(); //一天的毫秒數(shù) var millisecond = 1000 * 60 * 60 * 24; //獲取當(dāng)前時間 var currentDate = new Date(); //相對于當(dāng)前日期AddWeekCount個周的日期 currentDate = new Date(currentDate.getTime() + (millisecond * 7*AddWeekCount)); //返回date是一周中的某一天 var week = currentDate.getDay(); //返回date是一個月中的某一天 var month = currentDate.getDate(); //減去的天數(shù) var minusDay = week != 0 ? week - 1 : 6; //獲得當(dāng)前周的第一天 var currentWeekFirstDay = new Date(currentDate.getTime() - (millisecond * minusDay)); //獲得當(dāng)前周的最后一天 var currentWeekLastDay = new Date(currentWeekFirstDay.getTime() + (millisecond * 6)); //添加至數(shù)組 startStop.push(getDateStr3(currentWeekFirstDay)); startStop.push(getDateStr3(currentWeekLastDay)); return startStop; } /** * 獲得相對當(dāng)月AddMonthCount個月的起止日期 * AddMonthCount為0 代表當(dāng)月 為-1代表上一個月 為1代表下一個月 以此類推 * ***/ function getMonthStartAndEnd(AddMonthCount) { //起止日期數(shù)組 var startStop = new Array(); //獲取當(dāng)前時間 var currentDate = new Date(); var month=currentDate.getMonth()+AddMonthCount; if(month<0){ var n = parseInt((-month)/12); month += n*12; currentDate.setFullYear(currentDate.getFullYear()-n); } currentDate = new Date(currentDate.setMonth(month)); //獲得當(dāng)前月份0-11 var currentMonth = currentDate.getMonth(); //獲得當(dāng)前年份4位年 var currentYear = currentDate.getFullYear(); //獲得上一個月的第一天 var currentMonthFirstDay = new Date(currentYear, currentMonth,1); //獲得上一月的最后一天 var currentMonthLastDay = new Date(currentYear, currentMonth+1, 0); //添加至數(shù)組 startStop.push(getDateStr3(currentMonthFirstDay)); startStop.push(getDateStr3(currentMonthLastDay)); //返回 return startStop; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/81347.html
摘要:在設(shè)置或獲得或字段時,必須確定一個月或一年的第一個星期,以此作為參考點。一個月或一年的第一個星期被確定為開始于的最早七天,它最少包含那一個月或一年的天數(shù)。例如,特定子類可能將某一年第個星期之前的那個星期指定為前一年的第個星期。 Calendar工具類解釋 首先解釋下Calendar工具類的作用。根據(jù)API的解釋,Calendar 類是一個抽象類,它為特定瞬間與一組諸如 YEAR、MON...
摘要:介紹是對模塊的二次擴展提供時間格式化,時間計算的功能官方主頁為地址為文件結(jié)構(gòu)目錄描述源文件源文件類的二次擴展類主要用于時差計算類的二次擴展類提供時間計算,格式化輸出的功能自定義異常文件夾語言本地化文件夾類的方法會用到 介紹 Carbon是對PHP DateTime模塊的二次擴展;提供時間格式化,時間計算的功能; 官方主頁為 http://carbon.nesbot.com/; Git...
摘要:雖然大家都用過這個時間選擇控件,但是卻很少有人去研究其中原理。最近這邊本人利用閑暇時間自己寫了一個時間選擇控件,借這個時間選擇控件向各位同學(xué)們闡述這個時間選擇控件的原理。 前言 ??說到這個時間選擇控件,網(wǎng)上有很多各式各樣的,相信很多同學(xué)們也都有用過,所以大家對這個也不陌生。雖然大家都用過這個時間選擇控件,但是卻很少有人去研究其中原理。最近這邊本人利用閑暇時間自己寫了一個時間選擇控件,...
摘要:來了由秘猿科技與聯(lián)合主辦,亞洲第一屆大會將于月日在中國北京正式開啟。將是一次亞洲社區(qū)的大聚會,也因為此次大會,亞洲本土的社區(qū)連接到了全球其它地區(qū)的社區(qū)。未來,我們將推進到亞洲的其他國家,更好的促進當(dāng)?shù)厣鐓^(qū)與全球社區(qū)的合作和互助。 showImg(https://segmentfault.com/img/bVbqUjV?w=1089&h=647); RustCon Asia 來了!由秘猿...
閱讀 2299·2021-11-10 11:35
閱讀 919·2021-09-26 09:55
閱讀 2411·2021-09-22 15:22
閱讀 2329·2021-09-22 15:17
閱讀 3706·2021-09-09 09:33
閱讀 1837·2019-08-30 11:22
閱讀 979·2019-08-30 10:57
閱讀 652·2019-08-29 16:10