js如何在一个时间段内生成随机的的时间日期?求指教?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
, 参考技术A 先计算一下这段时间内有多少秒S,可以用库函数计算
然后再生成从0到S的随机数,然后加上最小时间,就得到随机的时间了。不能按年月日时分秒分别随机,那样概率就不均匀了。追问
可以帮我写个代码出来么?
参考技术B function getRandomDateBetween(a, b) // 要求a, b 都是Date类型, 且a < bvar date = new Date(),
a = a.getTime(),
b = b.getTime();
date.setTime(Math.random(b - a) + a);
return date;
追问
没有gettime这个方法的,报错误
追答要求a, b 都是Date类型, 且a < b.
不是的话 你自己转一下
我不知道你传进来的是什么类型的啊
网上可以搜得到很多的,
然后你可以对获取的当前时间做处理
以上是关于js如何在一个时间段内生成随机的的时间日期?求指教?的主要内容,如果未能解决你的问题,请参考以下文章