在android中计算给定两个日期(不包括周末)的日期
嗨,我是android的新手,在我的应用程序中,我必须从“当前”日期中“减去”给定日期,这很有效 这里我的主要要求是,我不应该计算周末(如周日和周六,公共假日),除了周末,我必须从“当前”日期中“减去”给定日期 请帮我拿一个 我的代码:-在android中计算给定两个日期(不包括周末)的日期,android,date,Android,Date,嗨,我是android的新手,在我的应用程序中,我必须从“当前”日期中“减去”给定日期,这很有效 这里我的主要要求是,我不应该计算周末(如周日和周六,公共假日),除了周末,我必须从“当前”日期中“减去”给定日期 请帮我拿一个 我的代码:- 排除周末的想法是使用: if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && startCal.get(Calendar.DAY_OF_WEEK) != Calendar
排除周末的想法是使用:
if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
++workDays;
}
使用此功能:
public static int countWorkingDate(Date dateStart, Date dateStop) {
Calendar startCal = Calendar.getInstance();
startCal.setTime(dateStart);
Calendar endCal = Calendar.getInstance();
endCal.setTime(dateStop);
int workDays = 0;
//Return 0 if start and end are the same
if (startCal.getTimeInMillis() == endCal.getTimeInMillis()) {
return 0;
}
if (startCal.getTimeInMillis() > endCal.getTimeInMillis()) {
startCal.setTime(dateStop);
endCal.setTime(dateStart);
}
do {
//excluding start date
startCal.add(Calendar.DAY_OF_MONTH, 1);
if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
++workDays;
}
} while (startCal.getTimeInMillis() < endCal.getTimeInMillis()); //excluding end date
return workDays;
}
结果是:I/System.out:6
我希望它能有所帮助。排除周末的想法是使用:
if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
++workDays;
}
使用此功能:
public static int countWorkingDate(Date dateStart, Date dateStop) {
Calendar startCal = Calendar.getInstance();
startCal.setTime(dateStart);
Calendar endCal = Calendar.getInstance();
endCal.setTime(dateStop);
int workDays = 0;
//Return 0 if start and end are the same
if (startCal.getTimeInMillis() == endCal.getTimeInMillis()) {
return 0;
}
if (startCal.getTimeInMillis() > endCal.getTimeInMillis()) {
startCal.setTime(dateStop);
endCal.setTime(dateStart);
}
do {
//excluding start date
startCal.add(Calendar.DAY_OF_MONTH, 1);
if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
++workDays;
}
} while (startCal.getTimeInMillis() < endCal.getTimeInMillis()); //excluding end date
return workDays;
}
结果是:I/System.out:6
我希望有帮助