将时间设置为90天javascript

时间:2019-03-01 09:43:39

标签: javascript jquery local-storage

我试图在用户关闭div后将其隐藏24小时。下面的代码可以正常工作。但是,如何使用相同的脚本将其设置为90天而不是24小时?

我尝试添加h*90*24*60*60*1000,但是没有用。

感谢您的帮助。

 //Get current time
  var currentTime = new Date().getTime();
  //Add hours function
  Date.prototype.addHours = function(h) {    
     this.setTime(this.getTime() + (h*60*60*1000)); 
     return this;   
  }
  //Get time after 24 hours
  var after24 = new Date().addHours(10).getTime();
  //Hide div click
  $('.cookie_panel > span').click(function(){
      //Hide div
      $(".divclass").fadeOut();
      //Set desired time till you want to hide that div
      localStorage.setItem('desiredTime', after24); 
  });
  //If desired time >= currentTime, based on that HIDE / SHOW
  if(localStorage.getItem('desiredTime') >= currentTime)
  {
      $('.divclass').hide();
  }
  else
  {
      $('.divclass').show();
  }

4 个答案:

答案 0 :(得分:6)

  

我尝试添加h*90*24*60*60*1000,但是没有用。

这是因为h表示小时(这就是为什么该方法称为addHours的原因)。使用它的代码会传入10(而不是24)中,因此您将获得未来日期 900 天,而不是 90

从中删除h*,它将使您有90天的时间。如果您使用固定的时间,我还将更改方法的名称,并且不将任何内容传递给该方法。

答案 1 :(得分:1)

您犯了一个小错误,只需从公式中删除h:(h *)的乘法即可。 它应该给您90天的正确值。

答案 2 :(得分:1)

我认为您可以通过设置适当的日期来达到相同的效果:

nlevels(d[,"A"])

答案 3 :(得分:1)

您可以这样做。我正在共享全部功能。

var currentTime = new Date().getTime();
//Add hours function
Date.prototype.addHours = function(h) {    
 this.setTime(this.getTime() + (h*60*60*1000)); 
 return this;   
}
Date.prototype.addDays = function(d) {    
 this.setDate(this.getDate() + d); 
 return this;   
}
//Get time after 90 days
var afte90days = new Date().addDays(90).getTime();

var curr_date = new Date(currentTime);
var afte90days_date = new Date(afte90days);