为了伪造一些尽量真实的假数据,也真是够费劲的。上一篇笔记记录了一下获取一个随机车辆牌照,这篇笔记记录一下怎么获取一个随机时间。这篇就不说那么多废话了,直接上代码

  1. // 获取指定范围的随机数
  2. var getRangeRandomNumber = function(num1,num2){
  3. num1 = Number.isInteger(num1) ? num1: 0;
  4. num2 = Number.isInteger(num2) ? num2: 0;
  5. var minNum=Math.min(num1,num2),maxNum=Math.max(num1,num2);
  6. return Math.round(Math.random() * (maxNum - minNum)) + minNum;
  7. };
  8. // 日期扩展:格式化日期
  9. var dateExtendFormat = function(date, format) {
  10. var o = {
  11. "M+": date.getMonth() + 1, 
  12. "d+": date.getDate(), 
  13. "H+": date.getHours(), 
  14. "m+": date.getMinutes(), 
  15. "s+": date.getSeconds(), 
  16. "q+": Math.floor((date.getMonth() + 3) / 3), 
  17. "S": date.getMilliseconds() 
  18. }
  19. if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
  20. for (var k in o) {
  21. if (new RegExp("(" + k + ")").test(format)) {
  22. format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
  23. }
  24. }
  25. return format;
  26. };
  27. // 获取指定范围随机时间,依赖方法 getRangeRandomNumber、dateExtendFormat
  28. var getRangeRandomDate=function(date1,date2,format){
  29. var date1ValueOf=new Date(date1).valueOf(),date2ValueOf=new Date(date2).valueOf();
  30. if(isNaN(date1ValueOf)&&isNaN(date2ValueOf)){
  31. date1ValueOf=0;
  32. date2ValueOf=new Date().valueOf();
  33. }
  34. else{
  35. if(isNaN(date1ValueOf))date1ValueOf=0;
  36. if(isNaN(date2ValueOf))date2ValueOf=0;
  37. }
  38. var retDate=new Date(getRangeRandomNumber(Math.abs(date1ValueOf-date2ValueOf)) + Math.min(date1ValueOf,date2ValueOf));
  39. if(format){
  40. retDate=dateExtendFormat(retDate,format);
  41. }
  42. return retDate;
  43. };

  在粘一下测试代码

  1. console.log("*********************************************************测试1:返回的是Date类型*********************************************************");
  2. for(var i=0;i<5;i++){
  3. console.log(getRangeRandomDate());
  4. }
  5. console.log("*********************************************************测试2:返回的是指定格式的字符串时间*********************************************************");
  6. for(var i=0;i<5;i++){
  7. console.log(getRangeRandomDate(undefined,"2019-11-07","yyyy-MM-dd HH:mm:ss"));
  8. }
  9. console.log("*********************************************************测试3:返回的是指定格式的字符串时间*********************************************************");
  10. for(var i=0;i<5;i++){
  11. console.log(getRangeRandomDate("2019-11-07","我不是时间","yyyy-MM-dd HH:mm:ss.S"));
  12. }
  13. console.log("*********************************************************测试4:返回的是指定格式的字符串时间*********************************************************");
  14. for(var i=0;i<5;i++){
  15. console.log(getRangeRandomDate("2019-11-07","2019-11-06 23:59:59","HH:mm:ss"));
  16. }

  看一下测试结果

  要不是不说点废话,还真是够短的……不过这篇没有什么疑问,所以到此就结束吧!

  参考链接:javascript Date format(js日期格式化)

表单生成器(Form Builder)之伪造表单数据番外篇——指定范围随机时间的更多相关文章

  1. 表单生成器(Form Builder)之伪造表单数据番外篇——随机车辆牌照

    前几天记录了一下表单生成器(Form Builder)之表单数据存储结构mongodb篇,之后便想着伪造一些数据.为什么要伪造数据呢?说来惭愧,因为拖拉拽设计表单以及表单对应的列表的PC端和移动端该显 ...

  2. 表单生成器(Form Builder)之伪造表单数据mongodb篇

    这篇文章终于回到了正轨:为mongodb伪造数据.之前的随机数.随机车牌照.随机时间还有这篇笔记中的获取指定长度的中文字符串,都是为这篇笔记做准备.看一下我们的准备(基础代码) // 1.获取指定范围 ...

  3. 表单生成器(Form Builder)之mongodb表单数据查询——统计查询求和

    上一篇笔记仅是记录了一下简单的关联查询,根据笔记中的场景:将某一车辆关联的耗损记录全部放在了一个字段当中.不知道现在中有没有这种场景,我们的应用中没有类似的场景,可能我们更关注的是某车辆的总耗损金额和 ...

  4. 表单生成器(Form Builder)之mongodb表单数据查询——关联查询

    这一篇接着记录一下查询相关的操作.想象一下,如果想要在一张表格中展示某些车辆的耗损和营收情况,我们该怎么处理.车辆.耗损.营收各自存储在一张表中,耗损和营收中冗余了车辆信息……我们便想到了关联查询.m ...

  5. 表单生成器(Form Builder)之mongodb表单数据查询——返回分页数据和总条数

    上一篇笔记将开始定义的存储结构处理了一下,将FormItems数组中的表单项都拿到mongodb document的最外层,和以前的关系型数据类似,之不过好多列都是动态的,不固定,不过这并没有什么影响 ...

  6. 表单生成器(Form Builder)之mongodb表单数据——整理数据

    在上篇笔记中,为车辆信息表.车辆耗损表以及车辆营收表插入了一些数据.之后便是查询了,重点也在查询……按照之前定好的数据结构,如果查询mongodb document的最外层比较简单,但是我们的重点应该 ...

  7. 表单生成器(Form Builder)之表单数据存储结构mongodb篇

    从这篇笔记开始,记录一下表单生成器(Form Builder)相关的一些东西,网上关于他的介绍有很多,这里就不解释了. 开篇说一下如何存储Form Builder生成的数据.

  8. Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法

    Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法 昨天在开发的时候遇到个小问题,就是如何将Grid的内容与Form一起发送到服务器端.默认情况下,表单(F ...

  9. 表单组件 form fastadmin(生成表单元素)

    Form组件 定义文件位置: /extend/fast/Formphp 通用参数 $name 通常为我们组件的名称(name属性值),我们在后台接收时可以通过这个名称来获取到它所对应的值 $value ...

随机推荐

  1. 洛谷 题解 P3385 【【模板】负环】

    一.声明 在下面的描述中,未说明的情况下,\(N\) 是顶点数,\(M\)是边数. 二.判负环算法盘点 想到判负环,我们会想到很多的判负环算法.例如: 1. Bellman-Ford 判负环 这个算法 ...

  2. 笔记||Python3之列表与元组

    列表List: 特性:①列表也是一种Squence类型 ②下标 ③能切片 ④可以存储任何类型的数据,每个元素是任意类型 ⑤内容可以改变:增删改查 1  --  值   列表的元素值是可以改变的   a ...

  3. leetcode -- 最长回文子串

    题目: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" 注意: ...

  4. 【JS】403- JavaScript 工具函数大全(新)

    前言 一线大厂笔试题灵感来源 目录: 第一部分:数组 第二部分:函数 第三部分:字符串 第四部分:对象 第五部分:数字 第六部分:浏览器操作及其它 筛选自以下两篇文章: <127 Helpful ...

  5. 【Web技术】314- 前端组件设计原则

    点击上方"前端自习课"关注,学习起来~ 译者:@没有好名字了译文:https://github.com/lightningminers/article/issues/36,http ...

  6. web性能优化指南

    前端性能优化,是每个前端必备的技能,优化自己的代码,使自己的网址可以更加快速的访问打开,减少用户等待,今天就会从几个方面说起前端性能优化的方案, 看下面的一张图,经常会被面试官问,从输入URL到页面加 ...

  7. flash插件

    偶尔见到别人的博客侧边栏 有一些很有意思的flash插件,也想加入到自己博客里面,这里来大概讲一下~ 一.支持js代码 首先要在  博客设置 >开启博客侧边栏公告的js代码支持,提交审核后 很快 ...

  8. COCI 2012 Inspektor

    coci 2012 inspektor 街道由左到右分布着\(N\)个办公室,编号为\(1\)到\(N\),最开始,每个办公室都是空的,一些公司将入住,并赶走办公室里面现有的公司.一人每天会路过一些连 ...

  9. poj 1741 Tree (树的分治)

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 30928   Accepted: 10351 Descriptio ...

  10. Codeforces Round #609 (Div. 2)

    A题 给出n,求大于n的两个合数a和b,并且a-b = n 直接输出n的倍数即可 int n; int main() { cin >> n; cout << 9*n <& ...