js如何在一个时间段内生成随机的的时间日期?求指教?

如:2013-01-31 14:00:00 到 2013-02-03 14:00:00之间的日期
2024-11-23 03:52:09
推荐回答(4个)
回答(1):

getRandomDateBetween() { // 生成当前时间一个月内的随机时间。
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;
},

回答(2):

先计算一下这段时间内有多少秒S,可以用库函数计算
然后再生成从0到S的随机数,然后加上最小时间,就得到随机的时间了。不能按年月日时分秒分别随机,那样概率就不均匀了。

回答(3):

function getRandomDateBetween(a, b) { // 要求a, b 都是Date类型, 且a < b
var date = new Date(),
a = a.getTime(),
b = b.getTime();

date.setTime(Math.random(b - a) + a);

return date;

}

回答(4):

JS有获取系统当前时间 的方法
网上可以搜得到很多的,
然后你可以对获取的当前时间做处理