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