Java
Java 주말(토요일, 일요일) 일자를 조회하는 프로그램
심나라
2024. 11. 23. 22:11
728x90
올해 일년치 주말(토요일, 일요일) 일자를 조회하는 프로그램.
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.TextStyle;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
public class DayOfWeekUtilTest {
public static void main(String[] args) {
List<Map<String, Object>> list = getDayOfWeek();
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
/**
* 1년치 주말(토, 일) 정보 조회
*/
public static List<Map<String, Object>> getDayOfWeek(){
List<Map<String, Object>> dayOfWeekList = new ArrayList<>();
// 현재 날짜
LocalDate now = LocalDate.now();
// 현재 년도
int year = now.getYear();
// 현재 년도 1월 1일 날짜
LocalDate date = LocalDate.of(year, 1, 1);
// 현재 년도 1월 1일의 요일
DayOfWeek dayOfWeek = date.getDayOfWeek();
while(now.getYear() == year){
String dayOfWeekStr = dayOfWeek.getDisplayName(TextStyle.SHORT, Locale.KOREAN);
String locdate = date.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
// 요일이 주말(토, 일)
if(dayOfWeekStr.equals("토") ||dayOfWeekStr.equals("일")){
HashMap<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("locdate", Integer.parseInt(locdate));
dataMap.put("dateName", dayOfWeekStr);
dataMap.put("isWeek", "Y");
dataMap.put("isHoliday", "N");
dataMap.put("year", year);
dayOfWeekList.add(dataMap);
}
date = date.plusDays(1);
year = date.getYear();
dayOfWeek = date.getDayOfWeek();
};
return dayOfWeekList;
}
}
[ 출력결과 ]
{dateName=토, locdate=20240106, isWeek=Y, year=2024, isHoliday=N}
{dateName=일, locdate=20240107, isWeek=Y, year=2024, isHoliday=N}
{dateName=토, locdate=20240113, isWeek=Y, year=2024, isHoliday=N}
{dateName=일, locdate=20240114, isWeek=Y, year=2024, isHoliday=N}
{dateName=토, locdate=20240120, isWeek=Y, year=2024, isHoliday=N}
......
728x90