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

 

 

 

  钻研不易,转载请注明出处。

posted @ 2019-02-14 09:27  莫小龙  阅读(2250)  评论(0编辑  收藏  举报