我正在尝试生成一个随机日期,然后再添加5天。它大部分时间都可以正常工作,但是当新的日期进入明年时,结果实际上会回到同年的开始。不知道为什么......这是我的代码
Date today = new Date();
def endRange = 1500
def randomInterval = new Random().nextInt(endRange)
startDate = today.plus(randomInterval)
endDate= startDate.plus(5)
我在循环中运行1000次,其中18次重置回到同一年或增加一年。不知道为什么。以下是两个示例输出结果
startdate enddate
2022-12-27 -- > 2022-01-01
2020-12-26 -- > 2021-12-31
感谢您对此的任何帮助
// update
经过一点挖掘后,在写入excel之前将日期格式更改为“YYYY-MM-dd”之后就会发生这种情况,因为这是我需要的格式。并且它会持续发生在添加5天后转入明年的任何日期。Date today = new Date();
def minStart = today+5 //diff_currentDt_startDt
def endRange = 1500
def randomInterval = new Random().nextInt(endRange)
startDate = today.plus(randomInterval)
endDate= startDate.plus(diff_startDt_endDt)
// after this I format them and then write to excel
def startDate1=startDate.format('YYYY-MM-dd')
def endDate1=endDate.format('YYYY-MM-dd')
Label label1= new Label(0, i, startDate1)
sheet.addCell(label1)
Label label2= new Label(1, i, endDate1);
sheet.addCell(label2);
再次进一步检查,不知何故格式搞乱了。以下是格式化之前和之后的日期
Tue Dec 24 19:31:02 EST 2019 //startdate
2019-12-24 // startdate in YYYY-MM-dd format
Sun Dec 29 19:31:02 EST 2019 // enddate (startdate +5)
2020-12-29 // enddate in YYYY-MM-dd format
我做错了什么?
答案 0 :(得分:-1)
看起来像" YYYY"在.format(' YYYY-MM-dd')中将问题更改为" yyyy"在.format(' yyyy-MM-dd')