//獲取上周起始時間結束時間、下周起始時間結束時間開始時間和本周起始時間結束時間;(西方)
function getTime(n) { var now = new Date(); var year = now.getFullYear(); //因為月份是從0開始的,所以獲取這個月的月份數要加1才行
var month = now.getMonth() + 1; var date = now.getDate(); var day = now.getDay(); console.log(date); //判斷是否為周日,如果不是的話,就讓今天的day-1(例如星期二就是2-1)
if (day !== 0) { n = n + (day - 1); } else { n = n + day; } if (day) { //這個判斷是為了解決跨年的問題
if (month > 1) { month = month; } //這個判斷是為了解決跨年的問題,月份是從0開始的
else { year = year - 1; month = 12; } } now.setDate(now.getDate() - n); year = now.getFullYear(); month = now.getMonth() + 1; date = now.getDate(); // console.log(n);
var s = year + "-" + (month < 10 ? ('0' + month) : month) + "-" + (date < 10 ? ('0' + date) : date); return s; } /***參數都是以周一為基准的***/
//上周的開始時間 // console.log(getTime(7)); //上周的結束時間 // console.log(getTime(1)); //本周的開始時間 // console.log(getTime(0)); //本周的結束時間 // console.log(getTime(-6)); //下周的開始時間 // console.log(getTime(-7)); //下周結束時間 // console.log(getTime(-13));
下面的標准的禮拜一(起始時間)到禮拜天(結束時間)
<script type="text/javascript">
function getTime(n) {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var day = now.getDay(); //返回星期幾的某一天;
n = day == 0 ? n + 6 : n + (day - 1)
now.setDate(now.getDate() - n);
date = now.getDate();
var s = year + "-" + (month < 10 ? ('0' + month) : month) + "-" + (date < 10 ? ('0' + date) : date);
return s;
}
//上周的開始時間
console.log(getTime(7));
//上周的結束時間
console.log(getTime(1));
//本周的開始時間
console.log(getTime(0));
//本周的結束時間
console.log(getTime(-6));
//下周的開始時間
console.log(getTime(-7));
//下周結束時間
console.log(getTime(-13));
</script>
