![](/img/trans.png)
[英]How to iterate over a date range in the following format 25-12-2012 to 31-12-2012(hyphen should be maintained) in Java?
[英]How to iterate over range of date in java
SimpleDateFormat dateformat2 = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
Date date = new Date();
String d=dateformat2.format(date);
現在我想從當前日期迭代到下一個 3 個月的日期。我想日期格式需要相同。 有什么建議嗎?
我不完全確定您在問題中的意思,但我猜這與迭代日期 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 中的描述以“寬松模式”定義日歷對象:
“日歷有兩種解釋日歷字段的模式,寬松和非寬松。當日歷處於寬松模式時,它接受比它產生的更廣泛的日歷字段值。當日歷重新計算日歷字段值以通過 get( ),所有日歷字段都被規范化。例如,寬松的 GregorianCalendar 將 MONTH == JANUARY, DAY_OF_MONTH == 32 解釋為二月 1。”
通過這樣做,您可以定義搜索設定的天數,而不是數月。 例如,您可以將整個時間段定義為 Month=January, Day=90,這將給出一年中第 90 天的日期。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.