嗨全部如何在java中提供開始日期和結束日期時生成日期?如何在java中的兩個日期之間獲得除週末或週六或週日外的每一天?
類似如下:
例如:如果start date is 15-04-2012
和end date is 15-06-2012
有這個我想日期是像下面和清單應省略saturday
和sunday
1.15-04-2012,
2.16-04-2012,
3.17-04-2012,
.
.
.
.
.
.
15-06-2012
我已經做了類似下面的,但它會產生一個月如果日期範圍是當月的。 `
public static ConcurrentHashMap<String, String> getWorkingDaysMap(int year, int month, int day){
int totalworkingdays=0,noofdays=0;
String nameofday = "";
ConcurrentHashMap<String,String> workingDaysMap = new ConcurrentHashMap<String,String>();
Map<String,String> holyDayMap = new LinkedHashMap<String,String>();
noofdays = findNoOfDays(year,month,day);
for (int i = 1; i <= noofdays; i++) {
Date date = (new GregorianCalendar(year,month - 1, i)).getTime(); // year,month,day
SimpleDateFormat f = new SimpleDateFormat("EEEE");
nameofday = f.format(date);
String daystr="";
String monthstr="";
if(i<10)daystr="0";
if(month<10)monthstr="0";
String formatedDate = daystr+i+"/"+monthstr+month+"/"+year;
if(!(nameofday.equals("Saturday") || nameofday.equals("Sunday"))){
workingDaysMap.put(formatedDate,formatedDate);
totalworkingdays++;
}
}
return workingDaysMap;
}
因此,請諮詢我如何去做。
問候 託尼
什麼發生,如果天數超過31個?如果你看到這個問題,它的星期幾和結束日期不會在同一個月。 – SAR
只需將此代碼添加到您的主要方法中,並嘗試運行並觀察行爲 –
Calendar.DATE和Calendar.DAY_OF_MONTH是同義詞。 Calendar.add負責正確的結果。 – sudocode