new date() 計算本周周一日期
需求:計算某天的那一周周一的日期
1.new Date()
date.getDay(); //獲取周幾 0-6 date.getTime();//獲取時間戳 1302883200000
2.獲取幾天后的時間
function addDay(dayNumber, date) { date = date ? date : new Date(); var ms = dayNumber * (1000 * 60 * 60 * 24); var newDate = new Date(date.getTime() + ms); return newDate; }
dayNumber 增加或減少的天數,正負整數
data 時間 無傳入默認當前時間
原理:將時間戳增加時間的毫秒數再轉回時間格式
3.計算周一日期
function getTheDay(strTime) { //將獲取的字符轉轉換為 new date var date= new Date(Date.parse(strTime.replace(/-/g,"/"))); //獲取該天是周幾 var datnum=date.getDay(); //調用addDay方法獲取本周一new date console.log(date.getTime()) var getdays = addDay(-datnum+1,date); console.log(getdays.getDay()) //將得到的new date轉換為時間 var getday = getdays.getFullYear()+"-"+(getdays.getMonth()+1)+"-"+getdays.getDate(); return getday; }
demo源碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="jquery.js"></script>
</head>
<body>
<script>
$(function () {
var strTime="2011-04-16";
//調用封裝好的方法
getTheDay(strTime);
console.log(getTheDay(strTime))
function getTheDay(strTime) {
//將獲取的字符轉轉換為 new date
var date= new Date(Date.parse(strTime.replace(/-/g,"/")));
//獲取該天是周幾
var datnum=date.getDay();
//調用addDay方法獲取本周一new date
console.log(date.getTime())
var getdays = addDay(-datnum+1,date);
console.log(getdays.getDay())
//將得到的new date轉換為時間
var getday = getdays.getFullYear()+"-"+(getdays.getMonth()+1)+"-"+getdays.getDate();
return getday;
}
// 方法 增添dayNumber天(整形),date:如果沒傳就使用今天(日期型)
function addDay(dayNumber, date) {
date = date ? date : new Date();
var ms = dayNumber * (1000 * 60 * 60 * 24);
var newDate = new Date(date.getTime() + ms);
return newDate;
}
})
</script>
</body>
</html>
鑽研不易,轉載請注明出處。
