我正在嘗試獲取給定月份和年份的第一個日期和最後一個日期。我使用以下代碼以yyyyMMdd格式獲取最後日期。但無法獲得這種格式。此外,我想以相同的格式開始日期。我仍在爲此工作。任何人都可以幫助我解決下面的代碼。java獲取給定月份和給定年份的第一個日期和最後一個日期
public static java.util.Date calculateMonthEndDate(int month, int year) {
int[] daysInAMonth = { 29, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int day = daysInAMonth[month];
boolean isLeapYear = new GregorianCalendar().isLeapYear(year);
if (isLeapYear && month == 2) {
day++;
}
GregorianCalendar gc = new GregorianCalendar(year, month - 1, day);
java.util.Date monthEndDate = new java.util.Date(gc.getTime().getTime());
return monthEndDate;
}
public static void main(String[] args) {
int month = 3;
int year = 2076;
final java.util.Date calculatedDate = calculateMonthEndDate(month, year);
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
format.format(calculatedDate);
System.out.println("Calculated month end date : " + calculatedDate);
}
那麼什麼結果*的*你得到些什麼?你爲什麼要從'日期'(日曆的結果)轉換。getTime()'到'long',然後創建一個新的'Date')?你可以改用喬達時間,這將使這一切變得更加整潔嗎? –
[如何獲取上個月的第一個日期和最後一個日期? (Java)](http://stackoverflow.com/questions/10828398/how-to-get-the-first-date-and-last-date-of-the-previous-month-java) –