表单生成器(Form Builder)之伪造表单数据番外篇——指定范围随机时间
程序员文章站
2023-10-29 11:28:59
为了伪造一些尽量真实的假数据,也真是够费劲的。上一篇笔记记录了一下获取一个随机车辆牌照,这篇笔记记录一下怎么获取一个随机时间。这篇就不说那么多废话了,直接上代码 在粘一下测试代码 看一下测试结果 要不是不说点废话,还真是够短的……不过这篇没有什么疑问,所以到此就结束吧! 参考链接:javascrip ......
为了伪造一些尽量真实的假数据,也真是够费劲的。上一篇笔记记录了一下获取一个随机车辆牌照,这篇笔记记录一下怎么获取一个随机时间。这篇就不说那么多废话了,直接上代码
// 获取指定范围的随机数 var getrangerandomnumber = function(num1,num2){ num1 = number.isinteger(num1) ? num1: 0; num2 = number.isinteger(num2) ? num2: 0; var minnum=math.min(num1,num2),maxnum=math.max(num1,num2); return math.round(math.random() * (maxnum - minnum)) + minnum; }; // 日期扩展:格式化日期 var dateextendformat = function(date, format) { var o = { "m+": date.getmonth() + 1, "d+": date.getdate(), "h+": date.gethours(), "m+": date.getminutes(), "s+": date.getseconds(), "q+": math.floor((date.getmonth() + 3) / 3), "s": date.getmilliseconds() } if (/(y+)/.test(format)) format = format.replace(regexp.$1, (date.getfullyear() + "").substr(4 - regexp.$1.length)); for (var k in o) { if (new regexp("(" + k + ")").test(format)) { format = format.replace(regexp.$1, regexp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } } return format; }; // 获取指定范围随机时间,依赖方法 getrangerandomnumber、dateextendformat var getrangerandomdate=function(date1,date2,format){ var date1valueof=new date(date1).valueof(),date2valueof=new date(date2).valueof(); if(isnan(date1valueof)&&isnan(date2valueof)){ date1valueof=0; date2valueof=new date().valueof(); } else{ if(isnan(date1valueof))date1valueof=0; if(isnan(date2valueof))date2valueof=0; } var retdate=new date(getrangerandomnumber(math.abs(date1valueof-date2valueof)) + math.min(date1valueof,date2valueof)); if(format){ retdate=dateextendformat(retdate,format); } return retdate; };
在粘一下测试代码
console.log("*********************************************************测试1:返回的是date类型*********************************************************"); for(var i=0;i<5;i++){ console.log(getrangerandomdate()); } console.log("*********************************************************测试2:返回的是指定格式的字符串时间*********************************************************"); for(var i=0;i<5;i++){ console.log(getrangerandomdate(undefined,"2019-11-07","yyyy-mm-dd hh:mm:ss")); } console.log("*********************************************************测试3:返回的是指定格式的字符串时间*********************************************************"); for(var i=0;i<5;i++){ console.log(getrangerandomdate("2019-11-07","我不是时间","yyyy-mm-dd hh:mm:ss.s")); } console.log("*********************************************************测试4:返回的是指定格式的字符串时间*********************************************************"); for(var i=0;i<5;i++){ console.log(getrangerandomdate("2019-11-07","2019-11-06 23:59:59","hh:mm:ss")); }
看一下测试结果
要不是不说点废话,还真是够短的……不过这篇没有什么疑问,所以到此就结束吧!
上一篇: 一个开源组件 bug 引发的分析