본문 바로가기
ㆍJava

[자바]매일매일 날짜는 바뀌고 시간만 고정 비교 테스트

by 매이슨 2022. 1. 10.

**1월10일 작성 ▶ 11일 변경점 수정
 -> 주테스트였던 11~13번 테스트내용 추가되지않은 그림 업데이트 되어 수정

* 진행사항 
컨트롤러에서 

@Scheduled(cron = "0 30 9 * * MON-FRI")

월 ~ 금 && 9시 30분마다 실행!
조건을 넣고

그 시간 비교를 통해 view 페이지를 강제로 고정시키려고 하니
ex) 1월 10일 9시 30분
ex) 1월 11일 9시 30분
위 예시처럼 날짜는 바뀌면서 시간만 고정해야 하는 조건이 되었다.

그래서 테스트를 진행하고 그 결과를 공유한다.
자바에서 하는 것보다 서버 실행 후 저장만 하여 바로바로 확인 가능토록 jsp 환경에서 테스트하였다.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
	<title>test</title>
</head>
<body>
<%
	
	/* 1 */ String startDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yy-MM-dd"));
	/* 2 */ String startTime = "09-30-00";
	/* 3 */ String startDateTime = startDate +"-"+ startTime;
	/* 4 */ String startDateTimeManualInsert = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yy-MM-dd-09-30-00"));
	
	/* ** */ LocalDateTime a = LocalDateTime.now();
	
	SimpleDateFormat SDF = new SimpleDateFormat("HH-mm-ss");
	SimpleDateFormat SDF_2 = new SimpleDateFormat("yy-MM-dd-HH-mm-ss");
	/* 5 */ Date startTimeParse = SDF.parse(startTime);
	/* 6 */ Date startDateTimeParse = SDF_2.parse(startDateTime);
	
	/* 7 */ boolean beforeNow = new Date().before(startTimeParse);
	/* 8 */ boolean afterNow = new Date().after(startTimeParse);
	
	/* 9 */ boolean beforeNow2 = new Date().before(startDateTimeParse);
	/* 10 */ boolean afterNow2 = new Date().after(startDateTimeParse);
	
	/* 11 */ Date startDateTimeManualInsertParse = SDF_2.parse(startDateTimeManualInsert);
	
	/* 12 */ boolean beforeNow3 = new Date().before(startDateTimeParse);
	/* 13 */ boolean afterNow3 = new Date().after(startDateTimeParse);
%>
** 지금시간 → <%= a %> <br><br>

1 String startDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yy-MM-dd"))<br> → <%= startDate%><br><br>
2 String startTime = "09-30-00"<br> → <%=startTime%><br><br>
3 String startDateTime = startDate + startTime;<br> → <%= startDateTime%><br><br>
4 String startDateTimeManualInsert = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yy-MM-dd-09-30-00"));<br> → <%= startDateTimeManualInsert%><br><br>
5 Date startTimeParse = SDF.parse(startTime)<br> → <%= startTimeParse%><br><br>
6 Date startDateTimeParse = SDF.parse(startDateTime)<br> → <%= startDateTimeParse%><br><br>
7 boolean beforeNow = new Date().before(startTimeParse);<br> → <%=beforeNow %> <br><br>
8 boolean afterNow = new Date().after(startTimeParse);<br> → <%=afterNow %> <br><br>
9  boolean beforeNow2 = new Date().before(startDateTimeParse); <br> → <%=beforeNow2 %> <br><br>
10 boolean afterNow2 = new Date().after(startDateTimeParse); <br> → <%=afterNow2 %> <br><br>

11 Date startDateTimeManualInsertParse = SDF.parse(startDateTimeManualInsert); <br> → <%=startDateTimeManualInsertParse %> <br><br>
12 boolean beforeNow3 = new Date().before(startDateTimeParse);
<br>지금시각이 startDateTimeParse보다 이전인가?<br> → <%=beforeNow3 %> <br><br>

13 boolean afterNow3 = new Date().after(startDateTimeParse); <br> → <%=afterNow3 %> <br><br>
</body>
</html>

  * 아래는 결과

결과적으로 123 → 4까지의 결과까지 시간이 좀 걸렸지만
4를 만드는 것이 주요했고
그것을 바탕으로 7,8번의 결과를 만들었다.

7,8을 써서 if 조건문 삽입하여 제어하면 될 거 같다.

사이드로 시작한 lunch 프로젝트도 막바지이다.
많은 변경점들이 있었지만, 만족할만한 결과는 나올 것 같다.