gpt4 book ai didi

java - 在包括开始日期在内的两个日期之间迭代?

转载 作者:搜寻专家 更新时间:2023-11-01 04:05:53 25 4
gpt4 key购买 nike

对于重复提问的道歉..

public static void main(String[] args)throws Exception {
GregorianCalendar gcal = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM");
Date start = sdf.parse("2010.01");
Date end = sdf.parse("2010.04");
gcal.setTime(start);
while (gcal.getTime().before(end)) {
gcal.add(Calendar.MONTH, 1);
Date d = gcal.getTime();
System.out.println(d);
}
}

在上面的代码中,准确地在日期之间打印,但我还需要打印开始日期..

以上代码输出为

Mon Feb 01 00:00:00 IST 2010
Mon Mar 01 00:00:00 IST 2010
Thu Apr 01 00:00:00 IST 2010

但我还需要输出开始日期..

请帮我弄到这个提前致谢..

最佳答案

在我看来这是最好的方式:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM");
Date start = sdf.parse("2010.01");
Date end = sdf.parse("2010.04");

GregorianCalendar gcal = new GregorianCalendar();
gcal.setTime(start);

while (!gcal.getTime().after(end)) {
Date d = gcal.getTime();
System.out.println(d);
gcal.add(Calendar.MONTH, 1);
}

输出:

Fri Jan 01 00:00:00 WST 2010
Mon Feb 01 00:00:00 WST 2010
Mon Mar 01 00:00:00 WST 2010
Thu Apr 01 00:00:00 WST 2010

我们所做的只是在递增之前打印日期,如果日期不在结束日期之后,我们将重复。

另一种选择是在 while 之前复制打印代码(糟糕)或使用 do...while(同样糟糕)。

关于java - 在包括开始日期在内的两个日期之间迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24881756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com