public static void main(String[] args) {
Date date = new Date(); // 시간과 날짜 정보를 date 인스턴스가 갖게 된다.
System.out.println("date.toString() : " + date.toString());
SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("ft.format(date) : " + ft.format(date)); // SimpleDateFormat 객체를 이용한 날짜 출력
System.out.println("date.getTime() : " + date.getTime()); // long 타입의 날짜 출력
long today = System.currentTimeMillis();
System.out.println("today : " + today);
System.out.println(today - date.getTime()); // 현재 걸린 시간 (메인 메서드 상단 부터 코드를 수행한 시간)
}
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH) + 1); // 자바가 월을 표현하는데 있어 0부터 시작되기에 1을 더해주어야 한다.
System.out.println(calendar.get(Calendar.DATE));
System.out.println(calendar.get(Calendar.HOUR)); // 시간을 12시로 표현
System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); // 시간을 24시로 표현
calendar.add(Calendar.HOUR, 5); // 5시간 이후로 Calendar 객체를 만들어준다.
System.out.println(calendar.get(Calendar.HOUR));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
}
java.util.Date에서는 "1900년도 부터 시작", "월이 0부터 시작" 하는 등의 이슈를 해결하고자 JDK 코어에서 더 좋고 직관적인 API를 제공하기 시작하며 등장하였다.
새로운 API의 핵심은 객체를 생성할 때 다양한 팩토리메서드를 갖고 사용한다.
객체 자기자신의 특정 요소를 갖고 오브젝트를 생성할 때 of 메서드를 사용한다.
다른 타입으로 변경할 때 from 메서드를 사용한다.
public static void main(String[] args) {
/* 다음의 클래스를 사용한다
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;
*/
LocalDateTime timePoint = LocalDateTime.now();
System.out.println(timePoint);
LocalDate localDate = LocalDate.of(2012, Month.DECEMBER, 12);
System.out.println(localDate);
LocalTime localTime1 = LocalTime.of(17, 18);
System.out.println(localTime1);
LocalTime localTime2 = LocalTime.parse("10:15:20");
System.out.println(localTime2);
LocalDate theDate = timePoint.toLocalDate();
System.out.println(theDate);
System.out.println(timePoint.getMonthValue());
Month month = timePoint.getMonth();
System.out.println(month.getValue());
}