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

如:2013-01-31 14:00:00 到 2013-02-03 14:00:00之间的日期

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;
},
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-31
先计算一下这段时间内有多少秒S,可以用库函数计算
然后再生成从0到S的随机数,然后加上最小时间,就得到随机的时间了。不能按年月日时分秒分别随机,那样概率就不均匀了。追问

可以帮我写个代码出来么?

本回答被网友采纳
第2个回答  2013-01-31
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;

}追问

没有gettime这个方法的,报错误

追答

要求a, b 都是Date类型, 且a < b.

不是的话 你自己转一下
我不知道你传进来的是什么类型的啊

第3个回答  2013-01-31
JS有获取系统当前时间 的方法
网上可以搜得到很多的,
然后你可以对获取的当前时间做处理

js如何在一个时间段内生成随机的的时间日期?求指教?
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.Fo...

JS怎么根据输入的名字生成一个随机数
function nameRnd(name) {return [...name].reduce((t, c) => (t * c.codePointAt(0)) % 123, 1);}nameRnd('张三'); \/\/ 21nameRnd('李四'); \/\/ 95那个123是指产生的随机数会在0-122的范围内,可以根据需要自己修改 这里使用的是一个比较简单的哈希函数,将每个字符的编码相乘并取...

...中怎么实现调用系统时间并能设置在某个时间段内文本框输出某个特定...
<\/SCRIPT> 将这个js放在你放时间的地方就可以了

求教js高手赐教..如何判断一个日期段和另一个日期是否有重复,如图显 ...
var beginDate_i = 开始时间_i;var endDate_i = 结束时间_i;for(var x=0;x<count;x++){ var beginDate_x = 开始时间_x;var endDate_x = 结束时间_x;if (i!=x){ \/\/判断时间是否交叉 if((endDate_i=="" && endDate_x=="")|| (parseInt(beginDate_i)<=parseInt(endDate_x...

js中如何得到循环中的某一个id ,求指教
你的id是从php传入的,同样你也可以用php直接传入id到js,如你:var toExec = 'document.getElementById("sup_'+<?php echo $row['id'];?>+'")';\/\/将获取此id所对应元素的语句用字符串进行拼接 var spanObj = eval(toExec);\/\/执行语句获得元素对象 ...

怎么设置在某一时间段内不能购买商品
1.在提交订单的按钮上设置js验证。判断时间段,在时间段内按钮禁用。(弊端:客户可以修改自己机器时间,从而跳过验证)2.在后台代码里判断时间段,同样禁用按钮。(弊端:增加服务器运行负担)

jS问题,怎样返回一个介于0到10 的随机数。下面是代码。请问为什么这么写...
Math.random()*11 表示 取11以内的随机数 包含小数 Math.floor(XXX) 表示向下取整数,例如11.2 结果为11。 11.9结果仍然为11 Math 表示数学运算 其中包含,random(),floor() ,abs() 等等等等

...点到周日的晚上12点时间段内,JS怎么写,请各位指教
var date = new Date();var day = date.getDay();var hours = date.getHours();if((day == 5 && hours >= 16) || day == 6 || day == 0){ alert('OK')}

通过JS如何随机选择一组数据中的一个
var string = "aaa,bbb,cc,ded,fff,ggg"; \/\/原始数据var array = string.split(","); \/\/转化为数组var value = array[Math.round(Math.random()*(array.length-1))]; \/\/随机抽取一个值alert(value);

...在客户端利用JS实时显示?也就是可以走动的时间?
我说说我的想法。用JS代码通过XMLHttp获取服务器时间动态刷新显示即可显示为当前时间。误差要求不是太大的话(考勤嘛)可以每20秒刷一次。GetTime.asp (UTF-8编码)=== <%@LANGUAGE="VBSCRIPT.Encode" CODEPAGE="65001"%>< Response.Expires = 0 ><%= Now() %> === GetTime.js --- var x...

相似回答