js获取当前指定的前几天的日期(如当前时间的前七天的日期),倒计时

一、js获取当前时间。格式为2016-03-23.

var d = new Date(),
        mon = parseInt(d.getMonth()+1),
        str = "";
    if(mon<10){
        str = d.getFullYear()+"-0"+(d.getMonth()+1)+"-"+d.getDate();
    }else{
        str = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();
    }
    console.log(str)

获取当前时间,特定时间前的日期

//日期时间计算
    function getBeforeDate(n) {
        var n = n;
        var d = new Date();
        var year = d.getFullYear();
        var mon = d.getMonth() + 1;
        var day = d.getDate();
        if(day <= n) {
            if(mon > 1) {
                mon = mon - 1;
            } else {
                year = year - 1;
                mon = 12;
            }
        }
        d.setDate(d.getDate() - n);
        year = d.getFullYear();
        mon = d.getMonth() + 1;
        day = d.getDate();
        s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day);
        return s;
    }
console.log(getBeforeDate(1));//昨天的日期  
  console.log(getBeforeDate(7));//前七天的日期   

二、倒计时

  商品类网站,经常会有限时特卖这类产品,经常会有一个倒计时。两种放

(a):后端传递过来商品限时结束的那个时间(时间戳格式),这样前端只需要利用这个时间戳个现在时间的时间戳去实现倒计时效果。

//限时特卖
        function cutTime(){
                $('.cut_time').each(function(i,item){
//1595612405000 时候都你传递过来的结束的 时间戳。用循环是因为商品不止一个,每一个都有倒计时,循环计算每一个的
                    //用时间戳去计算
                    var date1 = new Date();  //开始时间
                    var date3=1595612405000 - Date.parse(new Date());  
                    var days=Math.floor(date3/(24*3600*1000));
                var leave1=date3%(24*3600*1000);
                var hours=Math.floor(leave1/(3600*1000));
                var leave2=leave1%(3600*1000);        
                var minutes=Math.floor(leave2/(60*1000));
                var leave3=leave2%(60*1000);     
                var seconds=Math.round(leave3/1000);
                if(hours<10) hours = '0'+hours;
                if(minutes<10) minutes = '0'+minutes;
                if(seconds<10) seconds = '0'+seconds;
                
                $(this).find(".hour").text(hours);
                $(this).find(".minute").text(minutes);
                $(this).find(".seconds").text(seconds);
            });
        }
        if($('.cut_time').length > 0){
                setInterval(cutTime,1000);
        }

(b):利用年月日去计算倒计时

    //传入4个参数  年月日 以及 事件显示的 div的名字(class)
    function ShowCountDown(year,month,day,contDown){
        var now = new Date();
        var endDate = new Date(year, month-1, day);
        var leftTime=endDate.getTime()-now.getTime();
        var leftsecond = parseInt(leftTime/1000);
        var day1=Math.floor(leftsecond/(60*60*24));
        var hour=Math.floor((leftsecond-day1*24*60*60)/3600);
        var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60);
        var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60);
        var cc = $('.' + contDown); 
        cc.text("");
        cc.text(day1 +'天'+ hour +'小时'+ minute +'分'+ second +'秒');
    };
    

前台调用方法

//剩余时间控制
            var abc = 1000;
            setInterval("ShowCountDown(2016,10,31,'order_detail_timer')", abc);

 3、判断特定某一天是星期几

<script type="text/javascript">                          
 var date = "07/17/2014";    //此处也可以写成 17/07/2014 一样识别    也可以写成 07-17-2014  但需要正则转换   
 var day = new Date(Date.parse(date));   //需要正则转换的则 此处为 : var day = new Date(Date.parse(date.replace(/-/g, '/')));  
 var today = new Array('星期日','星期一','星期二','星期三','星期四','星期五','星期六');  
 var week = today[day.getDay()];  
  
//最终结果为:  
  
alert(week);  
</script>  
原文地址:https://www.cnblogs.com/haonanZhang/p/6855767.html