欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

表单生成器(Form Builder)之伪造表单数据番外篇——指定范围随机时间

程序员文章站 2022-05-09 16:22:33
为了伪造一些尽量真实的假数据,也真是够费劲的。上一篇笔记记录了一下获取一个随机车辆牌照,这篇笔记记录一下怎么获取一个随机时间。这篇就不说那么多废话了,直接上代码 在粘一下测试代码 看一下测试结果 要不是不说点废话,还真是够短的……不过这篇没有什么疑问,所以到此就结束吧! 参考链接: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"));
}

  看一下测试结果

表单生成器(Form Builder)之伪造表单数据番外篇——指定范围随机时间

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

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