1. startDate 20240415 / endDate 20240417
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String startDate = "20240415";
String endDate = "20240417";
boolean result = isValidDateRange(startDate, endDate);
if (result) {
System.out.println(result + " : 정확한 날짜입니다.");
} else {
System.out.println(result + " : 시작 날짜를 확인해주세요.");
}
}
public static boolean isValidDateRange(String startDateStr, String endDateStr) {
// 날짜 포맷 지정
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
// 시작 날짜와 종료 날짜를 LocalDate 객체로 변환
LocalDate startDate = LocalDate.parse(startDateStr, formatter);
LocalDate endDate = LocalDate.parse(endDateStr, formatter);
// 유효성 검사
return !startDate.isAfter(endDate);
}
}
2. startDate 20240417 / endDate 20240415
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String startDate = "20240417";
String endDate = "20240415";
boolean result = isValidDateRange(startDate, endDate);
if (result) {
System.out.println(result + " : 정확한 날짜입니다.");
} else {
System.out.println(result + " : 시작 날짜를 확인해주세요.");
}
}
public static boolean isValidDateRange(String startDateStr, String endDateStr) {
// 날짜 포맷 지정
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
// 시작 날짜와 종료 날짜를 LocalDate 객체로 변환
LocalDate startDate = LocalDate.parse(startDateStr, formatter);
LocalDate endDate = LocalDate.parse(endDateStr, formatter);
// 유효성 검사
return !startDate.isAfter(endDate);
}
}
3. 정리
1) DateTimeFomatter
- 날짜와 시간을 형식화하거나 파싱하는 데 사용되는 클래스
- Java 8부터 제공
- `java.time.format` 패키지에 포함되어 있음
- 문자열을 날짜나 시간으로 변환하거나, 날짜나 시간을 원하는 형식으로 출력할 수 있음
(1) 파싱
- 문자열을 날짜나 시간으로 변환: 문자열을 'LocalDate', 'LocalTime', 'LocalDateTime', 'ZonedDateTime' 등의 날짜/시간 타입으로 파싱함
- 날짜나 시간을 문자열로 변환: 'LocalDate', 'LocalTime', 'LocalDateTime', 'ZonedDateTime'의 날짜/시간을 원하는 형식을 문자열로 형식화함
(2) 형식 지정자(pattern)
- 다양한 형식을 지원함
- 형식 지정자(pattern)를 사용하여 형식을 지정함
- "yyyy-MM-dd"는 년-월-일, "HH:mm:ss"는 시간-분-초 형식을 나타냄
2) LocalDate.parse()
- 주어진 문자열을 'LocalDate' 객체로 파싱하는데 사용됨
- 첫 번째 매개변수는 형식화된 문자열을 나타냄
- 두 번째 매개변수는 이 문자열의 형식을 정의함
- 주어진 문자열을 'LocalDate' 객체로 변환함
3) isAfter()
- 'LocalDate', 'LocalTime', 'LocalDateTime', 'ZonedDateTime'등의 날짜와 시간 객체에서 사용되는 메서드
- 해당 객체가 다른 객체보다 이후인지 여부를 확인하는데 사용됨
- 첫 번째 객체가 두 번째 객체보다 이후인지를 확인할 수 있음
참고
OpenAi. (2024) ChatGPT (version 3.5)[Large Language model]. https://chat.openai.com
300x250
'Language > JAVA' 카테고리의 다른 글
[JAVA] return 시, 중간 변수 사용에 대한 궁금증 (0) | 2024.07.23 |
---|---|
[JAVA] 이스케이프 사용 대신 텍스트 블록 문법 (0) | 2024.04.10 |
[JAVA] 이메일 유효성 검사 정규표현식 (0) | 2024.04.03 |
[Selenium] 자바 셀레니움 설치 (with geckodriver & firefox) (0) | 2024.01.29 |
[JSP] 게시판 만들기 따라하기 feat.동빈나 (0) | 2023.06.29 |