用Java計算以下時間的開始和結束時間:上一個月,這一個月,上一週,這一週
只是簡單的用到了Calendar類的get(int field) 和add(int,int) 方法。
源碼如下:
System.out.println("******lastmonth****thismonth***lastweek****thisweek***");
String[] datePeriods = { "lastMonth", "thisMonth", "lastWeek",
"thisWeek" };
for (String datePeriod : datePeriods) {
Calendar startDate = Calendar.getInstance();
Calendar endDate = Calendar.getInstance();
if ("lastMonth".equals(datePeriod)) {
endDate.add(Calendar.DAY_OF_MONTH,
-endDate.get(Calendar.DAY_OF_MONTH));
startDate.add(
Calendar.DAY_OF_MONTH,
-startDate.get(Calendar.DAY_OF_MONTH) + 1
- endDate.get(Calendar.DAY_OF_MONTH));
} else if ("thisMonth".equals(datePeriod)) {
startDate.add(Calendar.DAY_OF_MONTH,
1 - endDate.get(Calendar.DAY_OF_MONTH));
} else if ("lastWeek".equals(datePeriod)) {
endDate.add(Calendar.DAY_OF_MONTH,
- endDate.get(Calendar.DAY_OF_WEEK));
startDate.add(Calendar.DAY_OF_MONTH,
-6 - startDate.get(Calendar.DAY_OF_WEEK));
} else {
startDate.add(Calendar.DAY_OF_MONTH,
1 - startDate.get(Calendar.DAY_OF_WEEK));
}
System.out.println("First Day Of "+datePeriod+" is:"+format.format(startDate.getTime()));
System.out.println("End Day Of "+datePeriod+" is:"+format.format(endDate.getTime()));
}