728x90
반응형
이 글은 Notion에서 작성 후 재편집한 포스트입니다.
목차
개요
Timestamp 형식은 계산해주는 메서드가 딱 정해져 있지 않다. 그래서 Calendar 객체를 사용해서 한번 거쳐가줘야 한다..
그래서 이 포스팅에선 이 Timestamp 를 계산하는 방법에 대해 쓰고자 한다.
아, 참고로 Timestamp는 그냥 java.security 안에 있는 Timestamp와 java.sql에 있는 Timestamp가 있는데, security는 구글링 하면 많이 나온다. java.sql.timestamp에 대해서 서술하도록 하겠다.
참고
stackoverflow.com/questions/7450045/how-do-i-increment-a-java-sql-timestamp-by-14-days
진행 과정
현재 시간 가져오기
먼저, Timestamp 형식으로 넘어오는 친구가 있다고 치자.
java.util.Date date = new Date();
long time = date.getTime();
System.out.println("Time in Milliseconds: " + time);
Timestamp ts = new Timestamp(time);
System.out.println("Current Time Stamp: " + ts);
Timestamp는 바로 현재시간을 가져올 수 없다. 따라서 Date를 통해 ms(밀리초) 시간을 구하고, Timestamp로 convert 해줘야만 한다.근데 Timestamp는 보통 java안에서만 쓰지는 않고 DB와 연동해서 사용할 때 사용하므로, 뭐.. 다음과 같은 방법을 사용해도 좋다.
String now = "2009-03-20 10:20:30.0"; // 형식을 지켜야 함
java.sql.Timestamp t = java.sql.Timestamp.valueOf(now);
아무튼, 이렇게 현재시간을 출력해온다고 치면 다음과 같다.
이런식으로 현재 시간을 가져올 수 있고..
이제 이 시간을 계산하려면 다음과 같이 사용해주면 끝!
Calendar cal = Calendar.getInstance();
cal.setTime(ts);
cal.add(Calendar.DATE, 3);
ts.setTime(cal.getTime().getTime());
System.out.println(ts);
saveget.setDueDate(ts);
참고로, Calendar의 add 함수는 다음과 같이 사용할 수 있다. 크게 년, 월, 일로만 따져보면
YEAR | 년 |
MONTH | 월 |
DATE | 일 |
정도가 되겠다.
아무튼, 전체 코드는 이렇다.
java.util.Date date = new Date();
long time = date.getTime();
System.out.println("Time in Milliseconds: " + time);
Timestamp ts = new Timestamp(time);
System.out.println("Current Time Stamp: " + ts);
//여기까지가 Date를 Timestamp로 전환하는 과정
//이제 Timestamp에 계산하기, 3일을 더해보자.
Calendar cal = Calendar.getInstance();
cal.setTime(ts);
cal.add(Calendar.DATE, 3);
ts.setTime(cal.getTime().getTime());
System.out.println(ts);
saveget.setDueDate(ts);
결과
구독 및 하트는 정보 포스팅 제작에 큰 힘이됩니다♡
728x90
반응형