JAVA/Muzi

날짜 초로 변환하기 (DateFormat)

미눅스[멘토] 2023. 12. 5. 17:56
728x90

날짜는 ex) "20231205" 로 들어있어야함

시간은 ex) "0800" 이나 "1210" 이런식으로 들어 있어야함


//셋팅할 데이터
String getResveDe = mtgPlaceManageVO.getResveDe();
String getCheckBeginTime = timeResve.getCheckBeginTime();
String getCheckEndTime = timeResve.getCheckEndTime();

String myBeginDe = myManage.getResveImprtyBeginDe();
String myEndDe = myManage.getResveImprtyEndDe();
String myBeginTime = myManage.getResveBeginTm();
String myEndTime = myManage.getResveEndTm();

// 문자열을 LocalDate와 LocalTime으로 변환
LocalDate reservationDate = LocalDate.parse(getResveDe, DateTimeFormatter.BASIC_ISO_DATE);
LocalTime localBeginTime = LocalTime.parse(getCheckBeginTime, DateTimeFormatter.ofPattern("HHmm"));
LocalTime localEndTime = LocalTime.parse(getCheckEndTime, DateTimeFormatter.ofPattern("HHmm"));

LocalDate myBeginDate = LocalDate.parse(myBeginDe, DateTimeFormatter.BASIC_ISO_DATE);
LocalDate myEndDate = LocalDate.parse(myEndDe, DateTimeFormatter.BASIC_ISO_DATE);
LocalTime mylocalBeginTime = LocalTime.parse(myBeginTime, DateTimeFormatter.ofPattern("HHmm"));
LocalTime mylocalEndTime = LocalTime.parse(myEndTime, DateTimeFormatter.ofPattern("HHmm"));

// LocalDate와 LocalTime을 LocalDateTime으로 결합
LocalDateTime checkBeginDateTime = reservationDate.atTime(localBeginTime);
LocalDateTime checkEndDateTime = reservationDate.atTime(localEndTime);

LocalDateTime myBeginDateTime = myBeginDate.atTime(mylocalBeginTime);
LocalDateTime myEndDateTime = myEndDate.atTime(mylocalEndTime);

// 초로 변환
beginSeconds = checkBeginDateTime.atZone(ZoneId.systemDefault()).toEpochSecond();
endSeconds = checkEndDateTime.atZone(ZoneId.systemDefault()).toEpochSecond();
myBeginSeconds = myBeginDateTime.atZone(ZoneId.systemDefault()).toEpochSecond();
myEndSeconds = myEndDateTime.atZone(ZoneId.systemDefault()).toEpochSecond();