日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

js获取上周、本周、上月、本月、第一天和最后一天

發(fā)布時(shí)間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js获取上周、本周、上月、本月、第一天和最后一天 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

js獲取上周、本周、上月、本月、第一天和最后一天

  • 獲取上周、本周的周一、周日
  • 獲取上月、本月的第一天和最后一天
  • 代碼中用到的日期轉(zhuǎn)字符串方法

獲取上周、本周的周一、周日

思路:先獲取到本周一的時(shí)間
本周日:就是本周一的時(shí)間加6天的時(shí)間
上周一:就是本周一的時(shí)間減7天的時(shí)間
上周日:就是本周一的時(shí)間減1天的時(shí)間
注意:上面的思路不變,js里newDate.getDay()獲取到日期所在的星期的第幾天 0.1.2.3.4.5.6 【0 = 上周周日】
周一至周六newDate.getDay()獲取到的為相應(yīng)的1-6.但是周日獲取到的天數(shù)為0。這是西方的計(jì)算方式,他們每周的周日為每周的第一天,這樣我們用newDate.getDay()獲取到的本周的0.1.2.3.4.5.6,其實(shí)0不是本周日期,為上周的周日。這里我們按照我們的習(xí)慣,周一為每周的第一天(下方代碼里有相應(yīng)的處理)

/*** 得到本周一、本周日、上周一、上周日的時(shí)間* * return* {* "thisWeekMonday": "2022-09-12",* "thisWeekSunday": "2022-09-18",* "lastWeekMonday": "2022-09-05",* "lastWeekSunday": "2022-09-11"* }*/ export function getMondayAndSunday() {var today = new Date();//構(gòu)建當(dāng)前日期,格式:2022-08-22 00:00:00var year = today.getFullYear(); //本年 var month = today.getMonth() + 1; //本月var day = today.getDate(); //本日var newDate = new Date(year + "-" + month + "-" + day + " 00:00:00"); //年月日拼接var nowTime = newDate.getTime(); //當(dāng)前的時(shí)間戳var weekDay = newDate.getDay(); //當(dāng)前星期 0.1.2.3.4.5.6 【0 = 周日】var oneDayTime = 24 * 60 * 60 * 1000; //一天的總ms// 當(dāng)前星期減去天數(shù),如今天為周五,則本周一為周五的時(shí)間戳減去4天的時(shí)間戳。但周日特殊,周一至周六是周幾的到的weekDay就是幾,但是周日的到的為0,需特殊處理var thisWeekMondayTime = (1 - weekDay) * oneDayTime + nowTime; //本周一的時(shí)間戳if (weekDay == 0) {// weekDay = 0 為周日,此時(shí)本周一時(shí)間為周日減去6天的時(shí)間thisWeekMondayTime = nowTime - 6 * oneDayTime}var thisWeekSundayTime = thisWeekMondayTime + 6 * 24 * 60 * 60 * 1000 // 本周日var lastWeekMondayTime = thisWeekMondayTime - 7 * oneDayTime // 上周一var lastWeekSundayTime = thisWeekMondayTime - oneDayTime // 上周日var res = {thisWeekMonday: dateToYYYYMMDD(thisWeekMondayTime),thisWeekSunday: dateToYYYYMMDD(thisWeekSundayTime),lastWeekMonday: dateToYYYYMMDD(lastWeekMondayTime),lastWeekSunday: dateToYYYYMMDD(lastWeekSundayTime),}return res; }

獲取上月、本月的第一天和最后一天

/*** 得到本月第一天、本月最后一天、上月第一天、上月最后一天日期* return* {* "thisMonthFirstDay": "2022-09-01",* "thisMonthLastDay": "2022-09-30",* "lastMonthFirstDay": "2022-08-01",* "lastMonthLastDay": "2022-08-31"* }*/ export function getMonthFirstDayAndLastDay() {var date = new Date()// 值得注意的是,如果day取值為0,意味著取的是date時(shí)間的上一個(gè)月的最后一天,簡(jiǎn)單理解:date當(dāng)前月的第一天,再減去一天var thisMonthFirstDay = date.setDate(1) // 本月第一天var thisMonthLastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0) // 本月最后一天var lastMonthFirstDay = new Date(date.getFullYear(), date.getMonth() - 1, 1) // 上月第一天var lastMonthLastDay = date.setDate(0) // 上月最后一天// var day = new Date(date.getFullYear(), date.getMonth(), 0).getDate()// var lastMonthLastDay = new Date(date.getFullYear(), date.getMonth() - 1, day) // 上月最后一天var res = {thisMonthFirstDay: dateToYYYYMMDD(thisMonthFirstDay),thisMonthLastDay: dateToYYYYMMDD(thisMonthLastDay),lastMonthFirstDay: dateToYYYYMMDD(lastMonthFirstDay),lastMonthLastDay: dateToYYYYMMDD(lastMonthLastDay),}return res }

代碼中用到的日期轉(zhuǎn)字符串方法

// 返回 yyyy-MM-dd 格式字符串 export function dateToYYYYMMDD(date) {var time = new Date(date);var y = time.getFullYear();var m = (time.getMonth() + 1);m = m > 9 ? m : '0' + m;var d = time.getDate();d = d > 9 ? d : '0' + d;return y + "-" + m + "-" + d; }```

總結(jié)

以上是生活随笔為你收集整理的js获取上周、本周、上月、本月、第一天和最后一天的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。