目錄
Java 日期和時間計算加法和減法很簡單。
用 Java 輕鬆實現計算日期和時間的加減運算。以下是一個演示此功能的範例程式。
此範例程式具有以下特點:
- 此函數傳回從目前日期或任何給定的日期和時間加上或減去指定時間量的結果。
- 指定正數會使時間前進,指定負數會使時間後退。
例如,當前日期和時間之前的 10 天計算如果您選擇這樣做,請執行以下操作:
Calendar cal = addMonth(-10); - 您可以為每個時間欄位設定任意時間量:年、月、日、小時、分鐘、秒和毫秒。
此外,相對於指定時間計算如果這樣做,請將 Calendar 類別作為參數傳遞。
例如,以下命令會將指定日曆實例中的日期向前推進一年。
Calendar cal = add(「指定日曆」,1,0,0,0,0,0,0); - 如果任何時間欄位的值超出其範圍,則下一個較大的時間欄位的值將會遞增或遞減。
例如,以下指令會將目前時間推進 1 小時 5 分鐘。
Calendar cal = addMinute(65);
範例程式
執行
在範例程式中,傳回值為計算後你可以取得一個儲存日期的 java.util.Calendar 對象,然後使用 java.util.Calendar#getTime() 方法將其轉換為 java.util.Date,然後使用 java.text.SimpleDateFormat 將其轉換為日期字串。
◆範例
public static void main(String[] args) {
SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println("現在 の日付・時刻 = "+ f.format(add(null,0,0,0,0,0,0,0).getTime()));
System.out.println("1年後 の日付・時刻 = "+ f.format(addYera(1).getTime()));
System.out.println("1ヶ月前 の日付・時刻 = "+ f.format(addMonth(-1).getTime()));
System.out.println("3時間後 の日付・時刻 = "+ f.format(addHour(3).getTime()));
System.out.println("30時間前の日付・時刻 = "+ f.format(addHour(-30).getTime()));
System.out.println("40分後 の日付・時刻 = "+ f.format(addMinute(40).getTime()));
System.out.println("80秒後 の日付・時刻 = "+ f.format(addSecond(80).getTime()));
System.out.println("1ヶ月前から、4日後の日付・時刻 = "+ f.format(add(null,0,-1,4,0,0,0,0).getTime()));
}
◆執行結果
目前日期和時間為 2008/03/25 00:00:00。
當前日期和時間 = 2008/03/25 00:00:00 一年後的日期和時間 = 2009/03/25 00:00:00 一個月前的日期和時間 = 2008/02/25 00:00:00 一個月前的日期和時間 = 2008/02/25 00:00:00 一個月前的日期和時間 = 2008/02/25 00:00:00 三小時後的日期和時間 = 2030:30小時前的日期和時間 = 2008/03/23 18:00:00 40 分鐘後的日期和時間 = 2008/03/25 00:40:00 80 秒後的日期和時間 = 2008/03/25 00:00 80 秒後的日期和時間 = 2008/03/25 00:01:20 一個月後的第四天的日期和時間的第四天的日期和 20:2020 20:2020
*因為 2008 年是閏年,所以 2 月的最後一天是 29 日。
此範例程式適用於 Chat&Messenger。日曆和日程管理功能我確實在[這個語境中]使用它。
