var date = new Date()
var e = date.getTime()//当前时间的秒数
var f = date.getTime()-(30*24*60*60*1000)//30天之前的秒数,
//这里是注释打印不用看 console.log(a.Format('yyyy-MM-dd hh:mm:ss'),b.Format('yyyy-MM-dd hh:mm:ss'))
//这里是注释打印不用看console.log(new Date(this.RandomNumBoth(f,e)).Format('yyyy-MM-dd hh:mm:ss'))
return new Date(Store.RandomNumBoth(f,e)).Format('yyyy-MM-dd hh:mm:ss')
// Store.RandomNumBoth(当前时间秒数,30天之前的时间秒数),我这是react语法在这调用加类名(Store),你们是别的就直接 this,RandomNumBoth
},
RandomNumBoth(Min,Max){
var Range = Max - Min
var Rand = Math.random()
var num = Min + Math.round(Rand * Range)//四舍五入
return num
},
那就别用计时器了,用延时器。随机数会吧?Math.random()。你用计时器没法改,计时器是每多少秒触发一次。延时器是多长时间后触发一次,可以把延迟器封装成带参数的函数,然后函数里面自调用,参数就是随机的时间。我说的是思路,如果你理解不能我也可以献丑写一下,不过我觉得还是你自己写出来比较有意义。function(d1ID,d2ID){// d2ID,d2ID为两个输入框ID
var dom=document
,d1=new Date(dom.getElementById(d1ID).value)
// 获得第一个日期,通过ID取得值然后作为参数生成日期值
// 日期生成方法 chrome下测试可行,未测试其他
,d2=new Date(dom.getElementByID(d2ID).value)
//获得第二个日期,原理同上
iDays = parseInt(Math.abs(d1 - d2) /1000 / 60 / 60 /24)
// 日期差为毫秒,换算为日期取整,这步直接看上面的,懒得自己一个个写了
return iDays
//返回日期差
}