一种方法生成长度为30的数组,使用JS在两个日期之间具有随机时间?

GoonGamja

范围对象中具有开始结束属性每个属性都有时间值。

range = {
  start: Tue Jul 07 2020 10:58:05,
  end: Wed Jul 08 2020 10:58:05
}

然后我必须使含有之间的随机时间长度为30的数组range.startrange.end

[Tue Jul 07 2020 11:00:05, Tue Jul 07 2020 13:49:12, Tue Jul 07 2020 15:22:54... Wed Jul 08 2020 12:51:05, Wed Jul 08 2020 15:24:13]

我想我可以使用新的Array(30).fill(dates)做到这一点,但不知道将其放入date的线索

GitGitBoom

这会将您的日期转换为时间戳,然后在其之间生成随机数,然后将其转换回日期。注意:添加的时区

var start = new Date('Tue Jul 07 2020 10:58:05 GMT-0400').getTime();
var end = new Date('Wed Jul 08 2020 10:58:05 GMT-0400').getTime();

var dates = Array(30).fill().map(() => {
  return new Date(
    Math.floor(Math.random() * (end - start)) + start
  ).toString();
});

结果是:

["Wed Jul 08 2020 01:55:53 GMT-0400 (Eastern Daylight Time)"
"Tue Jul 07 2020 16:58:52 GMT-0400 (Eastern Daylight Time)"
"Wed Jul 08 2020 00:02:45 GMT-0400 (Eastern Daylight Time)"​
"Tue Jul 07 2020 15:33:55 GMT-0400 (Eastern Daylight Time)"
"Tue Jul 07 2020 20:16:20 GMT-0400 (Eastern Daylight Time)"
"Tue Jul 07 2020 15:25:33 GMT-0400 (Eastern Daylight Time)"​
"Tue Jul 07 2020 17:15:14 GMT-0400 (Eastern Daylight Time)"
"Wed Jul 08 2020 02:20:32 GMT-0400 (Eastern Daylight Time)"
"Tue Jul 07 2020 23:25:54 GMT-0400 (Eastern Daylight Time)"
...]

编辑:对于唯一的日期,您可以执行以下操作:

var start = new Date('Tue Jul 07 2020 10:58:05 GMT-0400').getTime();
var end = new Date('Wed Jul 08 2020 10:58:05 GMT-0400').getTime();

var dates = [];
while(dates.length < 30) {
  let date = new Date(
    Math.floor(Math.random() * (end - start)) + start
  ).toString();
    
  if (!dates.includes(date)) {
    dates.push(date);
  }
}

如果开始日期和结束日期非常接近(彼此之间在几秒钟之内)和/或输出数组非常大,我将不使用此方法。它将阻塞线程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

一种返回两个日期之间的日期数组的方法 - Swift 3

C#如何对具有泛型类型的两个类使用一种方法?

试图找到一种方法在powershell中列出两个日期之间的所有星期五日期

有没有一种方法可以随机排列数组,以使两个连续的值都不相同?

有没有一种方法可以匹配两个涵盖相同时期但缺少不同日期的时间序列?

有没有一种方法可以在两个pouchdb实例之间进行同步?

有没有一种方法可以在两个viewController之间共享UI元素?

有没有一种方法可以将两个决策程序“合并”为Coq?

有没有一种方法可以使用熊猫根据其他条件从两个不同的列和跨行对日期进行分组?

有没有一种方法可以“合并”数组中的两个对象?

一种方法,以获取具有两个输入(字符串)的哈希键的JavaScript?

phpunit中是否有一种方法可以断言数组中某个键的两个值?

mysql-如何获取两个时间范围之间的随机时间(而非日期)

Java的两个varargs在一种方法

有没有一种简单的方法来获取两个日期之间的年数和天数?

MySQL-有没有一种方法可以对两个表使用WHERE?

一系列带有条件的两个的时间内生成随机时间

有没有一种方法可以找到两个C#字符串中最长的字符串的长度?

有没有一种方法可以根据匹配的列值来比较两个不同长度的数据帧?

具有两个可变时间查询的一种视图和一种控制器

给定两个32位数字N和M,以及两个位置i和j。编写一种方法将N中i和j之间的所有位设置为等于M

Django Model Inheritance(有一种方法可以组合两个不同的模型)

Android:有没有一种方法可以对一个对象的两个实例之间的“碰撞检测”进行编程?

有没有一种方法可以将两个具有不同日期的序列left_join在一起,以便它们都出现?

有没有一种方法可以遍历两个容器而不使用两个for循环

一种方法中使用两个参数

如何在一种方法上使用两个扫描仪

如何在一种方法中使用两个模型?

有没有一种方法可以找到两个5个字符的字符串之间的ASCII距离