티스토리 뷰
가끔 작업을 하다보면, 시작일자와 종료일자 사이에 윤달이 있는지 확인 할 필요가 있다.
윤달이 있고 없고에 따라서 1년 365일 366일이 될 수도 있기 때문이다.
기본적인 수행 로직은 간단하다.
필요할 때 언제든지 꺼내 쓸 수 있도록 하자.
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String toDateStr = "20190329";
String fromDateStr = "20200329";
try {
Date toDate = format.parse(toDateStr);
Date fromDate = format.parse(fromDateStr);
if(0 == Integer.parseInt(toDateStr.substring(0, 4)) % 4){
/* ▲ 시작일자의 년을 가지고 와서 4로 나눴을 때 나머지 값을 확인한다.
* 윤달은 4년마다 돌아온다. 따라서 나머지 값이 0일 경우가 윤달이 있는 해 이다.
*/
Date compDate = format.parse(toDateStr.substring(0, 4) + "0229");
if(compDate.getTime() >= toDate.getTime()){
System.out.println("toDate - 윤달이 존재합니다.");
}
} else if(0 == Integer.parseInt(fromDateStr.substring(0, 4)) % 4){
Date compDate = format.parse(fromDateStr.substring(0, 4) + "0229");
if(compDate.getTime() <= fromDate.getTime()){
System.out.println("from - 윤달이 존재합니다.");
}
} else {
System.out.println("윤달이 존재하지 않습니다.");
}
} catch (Exception e) {
// TODO: handle exception
}
앞써 이야기 했든이 로직은 간단하다.
시작일자와 종료일자를 각각 윤달 여부를 확인한다.
시작일자의 년을 가져와서 윤달이 있는 해 인지 확인하고 종료일자도 동일하다.
그리고 시작일자와 종료일자의 사이에 윤달이 있는지를 확인한다.
'IT기술, 프로그래밍 > Java' 카테고리의 다른 글
Java 일, 월, 년 차이 계산 방법 (0) | 2019.06.29 |
---|
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Lambda
- AWS DynamoDB
- 경제
- AWS Lambda
- web
- Dynamodb
- Java 기초
- 개발
- string 매서드
- 크롤링
- 프로그램
- Java
- 프로그래밍
- java long
- Polly
- AWS
- 경제용어
- java byte
- java 정수형
- byte 정수형
- python format
- 경재
- Crawling
- java float
- 주식
- Python
- 펀드
- string method
- java double
- python 문자열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함