为每5000个字符添加24小时getTime()

时间:2014-04-07 14:08:07

标签: javascript

我想制作一个javascript循环,它会根据文档中的字符数量返回日期。

var d = new Date.getTime();
var s = 9349859; //Random number of characters

if(s < 5000){
   d = "Same day";
}else{
   //Do the loop I'm searching
   ....

但是,如果我想创建一个循环,每5000个字符,它将24小时添加到getTime()var。怎么样?

4 个答案:

答案 0 :(得分:2)

只需获取天数并添加到日期对象

var d    = new Date();
var s    = 9349859;
var days = Math.floor( s / 5000 );

d.setDate(d.getDate() + days); 

FIDDLE

答案 1 :(得分:0)

你绝对想要一个循环?因为我建议你只需要计算一个字符数除以你想要的范围(500)并添加所需的小时数。

所以没有循环...

答案 2 :(得分:0)

你能做的就是这样:

Date.prototype.addHours= function(h){
    this.setHours(this.getHours()+h);
    return this;
}

var d = new Date.getTime();
var s = 9349859; //Random number of characters
var h = 0;

if(s < 5000){
   d = "Same day";
}else{
   while(s >= 5000) {
      h++;
      s -= 5000;
   }

   h = h * 24;

   d = new Date().addHours(h);
}

答案 3 :(得分:0)

你不需要任何循环。只需将字符数除以5000即可获得添加的天数。您可能需要floor(向下舍入)或ceil(向上舍入)。我的例子汇总了 - 因此每5000个字符或其中的一部分增加一天:

var d = new Date();
var s = 9349859; //Random number of characters

var numDays = Math.ceil(s/5000);

var newDate = new Date()
newDate.setDate(d.getDate() + numDays);

实例:http://jsfiddle.net/SJV26/