【发布时间】:2021-08-29 07:04:43
【问题描述】:
我正在尝试在两个日期之间生成一个随机日期,你能检查下面的代码吗?
我注意到输出为:02.0/01.0/1918.0
如何将其保存为 02/02/1918 而不是 02.0/01.0/1918.0
var dob;
//set a range of years
var min = 1900;
var max = 2004;
// Math.ceil prevents the value from being 0;
var month = Math.ceil(Math.random() * 12);
var day = Math.ceil(Math.random() * 28);
var year = Math.floor(Math.random() * (max - min) + min);
//this ensures that the format will stay mm/dd/yyyy;
if(month < 10) {
month = "0" + month;
}
if(day < 10) {
day = "0" + day;
}
//concatenates random dob in mm/dd/yyyy format;
dob = month + "/" + day + "/" + year;
return dob;
【问题讨论】:
-
小心随机数,它们是从零开始的。您必须将 1 添加到 random() * 12,否则您会得到不正确的值。例如,如果随机数为 0,乘以 12 也得到 0,但要得到第一个月,则需要加 1。同样的逻辑适用于天和年。
标签: groovy jenkins-groovy groovyshell groovy-console