[JAVA] 30일 이후 비밀번호 변경

Yuni·2023년 8월 3일
0

Java

목록 보기
10/15

비밀번호를 변경한지 30일이 지나면 비밀번호를 바꾸라는 알림창을 띄우려고한다.
우선 30일을 계산하는 코드를 만들어보려고한다.
회원가입 시 DB테이블에 업데이트가 되는 날짜부분을 넣어주고

updatedate TIMESTAMP NOT NULL 
		   DEFAULT current_timestamp() ON UPDATE current_timestamp()

이 코드를 MariaDB에 넣어주면

// 날짜 데이터 방식 바꾸는법
SELECT DATE_FORMAT('2023-02-21 17:57:39', '%Y-%m-%d') DATEONLY

// 가지고 있는 DB 내용에서 가져와서 바꾸기
SELECT date_format(updatedate, '%Y-%m-%d') FROM tbl_user WHERE user_id='admin';

결과 : 2023-02-21 이런식으로 나오게 되는데 이걸 이용해서 s_date 부분에 넣어주고 계산을 하면된다.

/* 30일 이후 비밀번호 변경 */
public void thirtyDaysChange() throws Exception, ParseException {
	try {
		Calendar getToday = Calendar.getInstance();
		getToday.setTime(new Date()); //금일 날짜

		String s_date = "2020-03-01";
		Date date = new SimpleDateFormat("yyyy-MM-dd").parse(s_date);
		Calendar cmpDate = Calendar.getInstance();
		cmpDate.setTime(date); //특정 일자

		long diffSec = (getToday.getTimeInMillis() - cmpDate.getTimeInMillis()) / 1000;     // 초 차이
		long diffDays = diffSec / (24 * 60 * 60);                                           // 일 차이

		//logger.info(diffSec + "초 차이");
		//logger.info(diffDays + "일 차이");

		int days = (int) diffDays;

		if (days == 30) {
			/* 비밀번호를 바꾼다 */
		}
	} catch (Exception e) {
		logger.info("error : " + e.getMessage());
		e.printStackTrace();

	}
}

참고문서
https://jul-liet.tistory.com/180 -> sql
https://myhappyman.tistory.com/128 -> java
https://developer-talk.tistory.com/643 -> java
https://coding-factory.tistory.com/737 -> java
https://gurtn.tistory.com/113 -> js

profile
backend developers

0개의 댓글