js-获取两个字符串日期的相隔周

Posted himmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js-获取两个字符串日期的相隔周相关的知识,希望对你有一定的参考价值。

例如说"2017-04-01 23:00:00"是周六, "2017-04-28 23:00:00"是周五,包含各自所在的那一周,我真正需要获得的结果是5个周。

开始做的时候一直把字符串啊,时间格式啊转来转去,后来发现,完全没有必要,毕竟我想要的只是周期值而已。。。。。

 

思路其实很简单,就是获取开始日期的那一周的周一的日期

然后用周一的日期和结束日期比较,向上取整。就可以获取到这个数了

 

var start = "2017-04-01 23:00:00";
        var end = "2017-04-28 23:00:00";

        //开始日期的周一
        var monday = showWeekFirstDay(start);
        //开始日期的周一距离结束日期的周期相差值
        var cycle = WeeksBetw(monday, end);


        //返回Nowdate所在周的第一天
        function showWeekFirstDay(Nowdates) {
            var Nowdate = new Date(Nowdates);
            var WeekFirstDay = new Date(Nowdate - (Nowdate.getDay() - 1) * 86400000);
            return WeekFirstDay;
        }

  

//返回两个日期相差的周数
function WeeksBetw(date11, date22) {

var date1 = new Date(date11);
var date2 = new Date(date22);
//这里的date1,date2都是Date对象

var dt1 = date1.getTime();

var dt2 = date2.getTime();

//向上取整

return Math.ceil(Math.abs(dt1 - dt2) / 1000 / 60 / 60 / 24 / 7);

}


以上~

以上是关于js-获取两个字符串日期的相隔周的主要内容,如果未能解决你的问题,请参考以下文章

c#如何计算两个日期之间相隔天数

两个日期的相隔天数

js的日期定时器

js计算两个日期相差的天数

获取两个日期之间的所有月份

javascript获取当天日期,计算出该天所属周,列出本周从周一至周日的所有日期,求大神帮助!