English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 프로그램에서는 Java에서 두 개의 날짜를 더하는 Calendar를 사용하는 방법을 배웁니다.
이것은 Java 기원이1970년, 따라서 Date 객체가 나타내는 모든 시간이 작동하지 않습니다. 이는 다음과 같은 의미가 있습니다.1970년부터 두 개의 날짜 객체가 더해지면 총합이 약1970년. 따라서 Calendar 대신 사용합니다.
import java.util.Calendar; public class AddDates { public static void main(String[] args) { Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); Calendar cTotal = (Calendar) c1.clone(); cTotal.add(Calendar.YEAR, c2.get(Calendar.YEAR)); cTotal.add(Calendar.MONTH, c2.get(Calendar.MONTH) + 1); // 0년 시작하는 월 cTotal.add(Calendar.DATE, c2.get(Calendar.DATE)); cTotal.add(Calendar.HOUR_OF_DAY, c2.get(Calendar.HOUR_OF_DAY)); cTotal.add(Calendar.MINUTE, c2.get(Calendar.MINUTE)); cTotal.add(Calendar.SECOND, c2.get(Calendar.SECOND)); cTotal.add(Calendar.MILLISECOND, c2.get(Calendar.MILLISECOND)); System.out.format("%s + %s = %s", c1.getTime(), c2.getTime(), cTotal.getTime()); } }
프로그램을 실행하면, 출력은 다음과 같습니다:
Tue Aug 08 10:20:56 NPT 2017 + Tue Aug 08 10:20:56 NPT 2017 = Mon Apr 16 20:41:53 NPT 4035
위의 프로그램에서 c1와 c2를 복사합니다.1을 저장합니다. 그런 다음, 우리는 단순히 c2의 각 DateTime 속성을 하나씩 추가했습니다.
그렇게 보이듯이, 우리는 월에1이유는 Java에서 월이 0부터 시작하기 때문입니다.