728x90
반응형
LocalDate
import할 패키지명
import java.time.LocalDate;
사용 예
LocalDate currentDate = LocalDate.now();
// 현재 날짜가 넣어진 LocalDate 객체 리턴(예: 2020-12-10)
LocalDate startDate = LocalDate.of(2020,12,9);
// of 메소드의 파라미터로 넘어간 값에 따라 날짜 저장된 LocalDate 객체 리턴
LocalDate 자료형 타입 변환
LocalDate → String (YYYYMMdd)
LocalDate.of(2020,12,10).format(DateTimeFormatter.BASIC_ISO_DATE);
LocalDate → String (원하는 형식 - 예: yyyy-MM-dd)
LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
LocalDate → LocatDateTime
LocalDate.now().atTime(11,34);
LocalTime
import할 패키지명
import java.time.LocalTime;
사용 예
LocalTime currentTime = LocalTime.now();
// 현재 시간이 넣어진 LocalTime 객체 리턴(예: 23:21:30)
LocalTime startTime = LocalTime.of(20,10,9);
// of 메소드의 파라미터로 넘어간 값에 따라 시간이 저장된 LocalTime 객체 리턴
// 이때, 파라미터가 4개가 넘어가야 하지만 마지막 자리가 ns라 따로 넘기지 않으면 0ns로 들어감
LocalDateTime
import할 패키지명
import java.time.LocalDateTime;
사용 예
LocalDateTime currentDateTime = LocalDateTime.now();
// 현재 날짜와 시간이 넣어진 LocalDateTime 객체 리턴(예: 2020-12-10T23:22:20.120)
LocalDateTime startDateTime = LocalDate.of(2020,12,9,12,2,00);
// of 메소드의 파라미터로 넘어간 값에 따라 날짜 및 시간 저장된 LocalDateTime 객체 리턴
// 이 메소드 또한 ns는 넘기지 않아도 됨
LocalDateTime 자료형 타입 변환
DateTime 포맷 변경
import java.time.format.DateTimeFormatter;
// DateTimeFormatter 사용을 위해 import 해야 할 패키지
LocalDateTime now = LocalDateTime.of(2020,12,10,23,30,20);
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String nowDateTime = now.format(dateTimeFormatter);
// 형식 예: 2020-12-10 23:30:20
DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy년 M월 d일 a h시 m분 s초");
String nowDateTime2 = now.format(dateTimeFormatter2);
// 형식 예: 2020년 12월 10일 PM 11시 30분 20초
LocalDateTime → String(YYYY-MM-dd HH:mm:ss)
LocalDateTime.of(2020,12,10,13,41,30).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime → LocalDate
LocalDate.from(LocalDateTime.of(2020,12,10,23,35,20));
시간 차이 계산
LocalDateTime startDateTime = LocalDateTime.of(2020,12,9,23,30,20);
// System.out.println(startDateTime) 결과: 2020-12-09T23:30:20
LocalDateTime endDateTime = LocalDateTime.now();
// System.out.println(endDateTime) 결과: 2020-12-10T14:20:56.695433
Duration duration = Duration.between(startDateTime, endDateTime);
duration.getSeconds();
// System.out.println(duration.getSeconds()) 결과: 53436
DateTime 더하기
- 빼기는 plus 대신 minus* 사용하면 됩니다.
- LocalDate 객체 또는 LocalTime 객체에서도 사용 가능합니다(물론, time 값 증가를 LocalDate에 쓰는 것은 의미 없음).
Return Type | Method | Description |
java.time.LocalDateTime | plusYears(long yearsToAdd) | 년도 더하기 |
java.time.LocalDateTime | plusMonths(long MonthsToAdd) | 월 더하기 |
java.time.LocalDateTime | plusWeeks(long WeeksToAdd) | 주 더하기 |
java.time.LocalDateTime | plusDays(long DaysToAdd) | 일 더하기 |
java.time.LocalDateTime | plusHours(long HoursToAdd) | 시간 더하기 |
java.time.LocalDateTime | plusMinutes(long MinutesToAdd) | 분 더하기 |
java.time.LocalDateTime | plusSeconds(long SecondsToAdd) | 초 더하기 |
java.time.LocalDateTime | plusNanos(long NanosToAdd) | 나노초 더하기 |
Time 변경하기
- LocalTime, LocalDateTime의 경우 with* 메소드를 사용하여 시간을 변경할 수 있습니다.
LocalDateTime now = LocalDateTime.now();
now.withHour(2); // 2시로 변경
now.withMinute(30); // 30분으로 변경
now.withSecond(32); // 32초로 변경
now.withNano(20); // 20나노초로 변경
//LocalDateTime객체.withHour(int hour)
//LocalDateTime객체.withMinute(int minute)
//LocalDateTime객체.withSecond(int second)
//LocalDateTime객체.withNano(int nano)
728x90
반응형
'PROGRAMMING LANGUAGE > JAVA' 카테고리의 다른 글
[JAVA 개념] ArrayList 초기화 (0) | 2022.02.20 |
---|---|
[JAVA 개념] 길이 관련 메소드 사용법(length, length(), size()) (0) | 2022.02.20 |
[myBatis] #와 $ 사용 시 차이점 (0) | 2020.12.10 |
[JAVA 개념] JVM, JRE, JDK란? (0) | 2019.10.21 |
[JAVA] Oracle Java SE 지원 로드맵 (0) | 2019.10.14 |