SimpleDateFormat dateformat2 = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
Date date = new Date();
String d=dateformat2.format(date);
现在我想从当前日期迭代到下一个3个月日期。我希望日期格式需要相同。有什么建议吗?
答案 0 :(得分:0)
我不完全确定你在你的问题中的意思,但我猜它与迭代3个月的日期有关。如果是这种情况,您可以尝试这样的事情:
for(int i = 0; i < month; i++) {
for(int j = 0; j < day; j++) {
//do something...
}}
只需将月份设置为迭代的月数(在本例中为3),将日期设置为每月的天数。
如果有问题的月份不一定每天都有一致的天数,那么你可以尝试一些不同的东西:
首先将变量设置为迭代的总天数。您可以通过计算每个月的天数的设定定义来获得此结果。然后迭代这几天
for(int i = 0; i < daysLeftToIterate; i++) {
//do something...
}
修改强>
在查看日历之后,我认为可能有一种方法可以有效地使用它来解决您的问题。您可以按照API中的描述“宽松模式”定义Calendar对象:
“日历有两种解释日历字段的模式,lenient和non-lenient。当Calendar处于宽松模式时,它接受比它产生的更广泛的日历字段值。当Calendar重新计算日历字段值以便返回时通过get(),所有日历字段都被标准化。例如,宽松的GregorianCalendar将MONTH == JANUARY,DAY_OF_MONTH == 32解释为2月1日。“
通过这样做,您可以定义搜索超过设定的天数而不是几个月。例如,您可以将整个时间段定义为Month = January,Day = 90,这将给出该年中第90天的日期。