날짜와 시간 다루기 예제
public class Main {
public static void main(String[] args) {
System.out.println("now()를 활용하여 생성");
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(date);
System.out.println(time);
System.out.println(dateTime);
//날짜를 직접 셋팅
System.out.println("of()를 활용하여 생성");
LocalDate newDate = LocalDate.of(2021, 03, 29);
LocalTime newTime = LocalTime.of(22, 50, 55);
System.out.println(newDate);
System.out.println(newTime);
}
}
now() vs of()
- 위 예제에서 사용한 now() 와 of()는 객체를 생성할 때 사용됩니다. now()는 현재의 날짜 시간을, of()는 지정하는 값이 필드에 담겨집니다.
날짜와 시간의 형식 수정
public class Main {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT); //java에 enum으로 정의된 클래스가 있음
String shortFormat = formatter.format(LocalTime.now()); //formatter 객체의 format() 메소드를 사용해 LocalTime타입을 넣어 String타입으로 변환
System.out.println(shortFormat);
}
}
만약 원하는 형식이 있다면?!
DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String myDate = newFormatter.format(LocalDate.now());
System.out.println(myDate);
날짜와 시간의 차이 계산
- 나는 지금까지 사칙연산으로 비교를 하였는데 이렇게 좋은 기능이 있는지 몰랐다.....
- 오늘 일자와 생일 일자간의 날짜 차이를 계산하기 위해서는 between()을 사용하면 구할 수 있습니다.
LocalDate today = LocalDate.now(); LocalDate birthday = LocalDate.of(2021, 8, 9); Period period = Period.between(today, birthday); System.out.println(period.getMonths()); System.out.println(period.getDays());
요일 구하기
// 1. LocalDate 생성
LocalDate date = LocalDate.of(2021, 12, 25);
System.out.println(date); // // 2021-12-25
// 2. DayOfWeek 객체 구하기
DayOfWeek dayOfWeek = date.getDayOfWeek();
// 3. 숫자 요일 구하기
int dayOfWeekNumber = dayOfWeek.getValue();
// 4. 숫자 요일 출력
System.out.println(dayOfWeekNumber); // 6
switch (dayOfWeekNumber) {
case 1: answer = "MON";
break;
case 2: answer = "TUE";
break;
case 3: answer = "WED";
break;
case 4: answer = "THU";
break;
case 5: answer = "FRI";
break;
case 6: answer = "SAT";
break;
case 7: answer = "SUN";
break;
}
'몰아 넣기' 카테고리의 다른 글
[java] JSONObject, JSONArray 이용하기 (0) | 2022.06.10 |
---|---|
[java] Arrays의 메소드 (0) | 2022.06.10 |
[Spring/java] Environment.acceptsProfiles() 사용하여 개발환경알기 (0) | 2022.04.02 |
[java/spring] jwt토큰을 만들고 토큰를 다시 decoding 하기 (0) | 2022.03.12 |
[java/자바] .orElseThrow() 및 .ifPresent() 그리고 Stream().findFirst() 활용하기 (0) | 2022.03.08 |