new date() 計算本周周一日期


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>
View Code

 

 

 

  鑽研不易,轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM