Java
날짜 클래스 (자바 8 이후)
개발게발
2023. 6. 27. 00:44
LocalDate
로컬 날짜 클래스
LocalDate nowDate = LocalDate.now();
LocalDate date = LocalDate.of(int year, int month, int dayOfMonth)
- now() : 기본 시간대의 시스템 시계에서 현재 날짜를 가져옴
- of() : 년, 월, 일에서 인스턴스를 가져옴
LocalDate nowDate = LocalDate.now();
LocalDate date = LocalDate.of(2023, 1, 1);
System.out.println(nowDate);
System.out.println(date);
2023-06-26
2023-01-01
LocalTime
로컬 시간 클래스
LocalTime nowTime = LocalTime.now();
LocalTime time = LocalTime.of(int hour, int minute, int second, int nanoOfSecond)
- now() : 기본 시간대의 시스템 시계에서 현재 시간을 가져옴
- of() : LocalTime시간, 분, 초 및 나노초에서 인스턴스를 가져옴
LocalTime nowTime = LocalTime.now();
LocalTime time = LocalTime.of(12, 26, 2, 9);
System.out.println(nowTime);
System.out.println(time);
18:31:02.982530500
12:26:02.000000009
LocalDateTime
로컬 날짜 및 시간 클래스
LocalDateTime nowDateTime = LocalDateTime.now();
LocalDateTime dateTime = LocalDateTime.of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond);
- now() : 기본 시간대의 시스템 시계에서 현재 날짜-시간을 가져옴
- of() : 년, 월, 일, 시, 분, 초 및 나노초에서 인스턴스를 가져옴
LocalDateTime nowDateTime = LocalDateTime.now();
LocalDateTime dateTime = LocalDateTime.of(2023, 1, 1, 12, 26, 2, 9);
System.out.println(nowDateTime);
System.out.println(dateTime);
2023-06-26T18:49:04.183542
2023-01-01T12:26:02.000000009
ZonedDateTime
ISO-8601 캘린더 시스템에서 타임존의 날짜/시간
ZonedDateTime nowZone = ZonedDateTime.now();
System.out.println(nowZone);
2023-06-26T22:23:25.631014900+09:00[Asia/Seoul]
ZoneId
타임존 ID
- getAvailableZoneIds() : 사용 가능한 타이존 ID들 가져옴
- from() : 시간 객체에서 타임존 ID를 가져옴
- of() : 유효한 타임존 ID인지 판별
ZonedDateTime nowZone = ZonedDateTime.now(ZoneId.of("America/Los_Angeles"));
System.out.println(nowZone);
2023-06-26T06:44:57.322317600-07:00[America/Los_Angeles]
DateTimeFormatter
날짜 포맷 변경
LocalDate nowdate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String formatStr = nowdate.format(formatter);
System.out.println(formatStr);
String str = "2023년 01월 01일 12시 26분 02초";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 HH시 mm분 ss초");
LocalDateTime localDateTime = LocalDateTime.parse(str, dateTimeFormatter);
System.out.println(localDateTime);
2023/06/27
2023-01-01T12:26:02
DayOfWeek
요일을 가져옴
LocalDate date = LocalDate.of(2023, 1, 1);
DayOfWeek dayOfWeek = date.getDayOfWeek();
System.out.println(dayOfWeek);
System.out.println(dayOfWeek.getValue());
SUNDAY
7
출처 :
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
https://scshim.tistory.com/251