怎么使用js計算當(dāng)前一周的日期
你可以使用 JavaScript 的 Date 對象來計算當(dāng)前一周的日期。首先,你需要獲取當(dāng)前日期,然后使用 Date 對象的 getDay 方法獲取當(dāng)前是星期幾(星期日是 0,星期一是 1,以此類推)。然后,你可以根據(jù)當(dāng)前是星期幾來計算出本周的第一天和最后一天的日期。
例如,下面是一個示例函數(shù),它可以計算出當(dāng)前一周的第一天和最后一天的日期:
function getWeekDates () { // 獲取當(dāng)前日期 var today = new Date(); // 獲取當(dāng)前是星期幾 var day = today.getDay(); if (day == 0) { // 計算本周第一天的日期 var startDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() - day - 6); // 計算本周最后一天的日期 var endDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() - day); } else { var startDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() - day + 1); var endDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() - day + 7); } // 返回本周的日期范圍 return { start: startDate, end: endDate }; }
附:js 獲取本周、上周、本月、上月、本年和上年開始和結(jié)束日期
一、代碼封裝
const getDateFn ={ //1、 得到今天、昨天、明天日期 //dates為數(shù)字類型,0代表今日,-1代表昨日,1代表明日,返回yyyy-mm-dd格式字符串,dates不傳默認(rèn)代表今日。 getDate(dates) { var dd = new Date(); var n = dates || 0; dd.setDate(dd.getDate() + n); var y = dd.getFullYear(); var m = dd.getMonth() + 1; var d = dd.getDate(); m = m < 10 ? "0" + m: m; d = d < 10 ? "0" + d: d; var day = y + "-" + m + "-" + d; return day; }, //2、得到本周、上周、下周的起始、結(jié)束日期 //type為字符串類型,有兩種選擇,"s"代表開始,"e"代表結(jié)束,dates為數(shù)字類型,不傳或0代表本周,-1代表上 getMonday(type, dates) { var now = new Date(); var nowTime = now.getTime(); var day = now.getDay(); var longTime = 24 * 60 * 60 * 1000; var n = longTime * 7 * (dates || 0); if (type == "s") { var dd = nowTime - (day - 1) * longTime + n; }; if (type == "e") { var dd = nowTime + (7 - day) * longTime + n; }; dd = new Date(dd); var y = dd.getFullYear(); var m = dd.getMonth() + 1; var d = dd.getDate(); m = m < 10 ? "0" + m: m; d = d < 10 ? "0" + d: d; var day = y + "-" + m + "-" + d; return day; }, //3、得到本月、上月、下月的起始、結(jié)束日期 //type為字符串類型,有兩種選擇,"s"代表開始,"e"代表結(jié)束,months為數(shù)字類型,0代表本月,-1代表上月,1代表下月 getMonth(type, months) { var d = new Date(); var year = d.getFullYear(); var month = d.getMonth() + 1; if (Math.abs(months) > 12) { months = months % 12; }; if (months != 0) { if (month + months > 12) { year++; month = (month + months) % 12; } else if (month + months < 1) { year--; month = 12 + month + months; } else { month = month + months; }; }; month = month < 10 ? "0" + month: month; var date = d.getDate(); var firstday = year + "-" + month + "-" + "01"; var lastday = ""; if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") { lastday = year + "-" + month + "-" + 31; } else if (month == "02") { if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) { lastday = year + "-" + month + "-" + 29; } else { lastday = year + "-" + month + "-" + 28; }; } else { lastday = year + "-" + month + "-" + 30; }; var day = ""; if (type == "s") { day = firstday; } else { day = lastday; }; return day; }, //4、得到今年、去年、明年的開始、結(jié)束日期 //type為字符串類型,有兩種選擇,"s"代表開始,"e"代表結(jié)束,dates為數(shù)字類型,不傳或0代表今年,-1代表去年,1代表明年 getYear(type, dates) { var dd = new Date(); var n = dates || 0; var year = dd.getFullYear() + Number(n); if (type == "s") { var day = year + "-01-01"; }; if (type == "e") { var day = year + "-12-31"; }; if (!type) { var day = year + "-01-01/" + year + "-12-31"; }; return day; }, } export default getDateFn;
二、使用
<template> <div></div> </template> <script> import getDateFn from '@/utils/getDateFn' export default { created() { console.log('今日日期',getDateFn.getDate()); console.log('本周開始日期',getDateFn.getMonday('s')); console.log('本周結(jié)束日期',getDateFn.getMonday('e')); console.log('上周開始日期',getDateFn.getMonday('s',-1)) console.log('上周結(jié)束日期',getDateFn.getMonday('e',-1)) console.log('本月開始日期',getDateFn.getMonth('s',0)); console.log('本月結(jié)束日期',getDateFn.getMonth('e',0)); } } </script>
總結(jié)
到此這篇關(guān)于怎么使用js計算當(dāng)前一周日期的文章就介紹到這了,更多相關(guān)js計算當(dāng)前一周日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- js獲取當(dāng)前周、上一周、下一周日期
- javascript 當(dāng)前日期加(天、周、月、年)
- js實(shí)現(xiàn)獲取當(dāng)前時間是本月第幾周的方法
- moment.js輕松實(shí)現(xiàn)獲取當(dāng)前日期是當(dāng)年的第幾周
- JS實(shí)現(xiàn)獲取當(dāng)前所在周的周六、周日示例分析
- JS如何根據(jù)當(dāng)前日期獲取一周所有日期
- moment.js 計算當(dāng)前一周、一月對應(yīng)日期的實(shí)例
- js根據(jù)當(dāng)前日期獲取前一周或者后一周等日期
- 如何用js獲取當(dāng)年周數(shù)列表以及當(dāng)前日期是第幾周
相關(guān)文章
JavaScript實(shí)現(xiàn)點(diǎn)擊復(fù)制功能具體代碼(JS訪問剪貼板相關(guān))
這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)點(diǎn)擊復(fù)制功能(JS訪問剪貼板相關(guān))的相關(guān)資料,復(fù)制功能指的是將一個文本或者圖片等資源從一個位置通過復(fù)制的方式再次拷貝到另一個位置,需要的朋友可以參考下2023-10-10JavaScript面向?qū)ο笾接徐o態(tài)變量實(shí)例分析
這篇文章主要介紹了JavaScript面向?qū)ο笾接徐o態(tài)變量,結(jié)合實(shí)例形式分析了私有靜態(tài)變量的定義與使用方法,需要的朋友可以參考下2016-01-01