java.sql.Timestamp 총정리! (자바, 자바스크립트) (미완성)
자바
java.sql.Timestamp
SQL의 TIMESTAMP 에 대응하므로 DB와 TIMESTAMP 형식의 데이터를 주고 받을 때 유용
Timestamp 의 생성자는 매개변수로 밀리초 시간 값을 받음
형식은 yyyy-MM-dd HH:mm:ss
● 현재 시간을 Timestamp 형식으로 표현하기
1. 현재시간을 밀리초로 구한다.
2. 밀리초 값을 Timestamp 의 매개변수로 받는다.
java.util.Date 클래스의 .getTime() 이용하여 밀리초 구하기
Date date = new Date();
long time = date.getTime();
System.out.println("데이트객체.getTime() : " + time);
// 데이트객체.getTime() : 1680973401285
Timestamp currentTimestamp1 = new Timestamp(time);
System.out.println(currentTimestmap1);
//2023-04-09 03:28:05.357
System.currentTimeMillis() 를 이용하여 밀리초 구하기
Timstamp currentTimestamp2 = new Timestamp(System.currentTimeMillis());
System.out.println(currentTimestamp2);
//2023-04-09 03:28:05.4
● Timestamp 와 String 변환하기
Timestamp -> String
java.text.SimpleDateFormat 이용
Timestamp ts = new Timestamp(System.currentTimeMillis());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss초");
String TimestampStr = sdf.format(ts);
System.out.println("Timestamp -> String : " + timestampStr);
// Timestamp -> String : 2023년 04월 09일 03시 28븐 05초
String -> Timestamp
1. 문자열이 Timestamp 형식(yyyy-MM-dd HH:mm:ss)과 일치할 경우
Timestamp.valueOf(문자열) 이용
String now = "2023-04-09 02:36:30.0";
Timestamp ts = Timestamp.valueOf(now);
System.out.println(ts);
2. 문자열이 Timestamp 형식과 일치하지 않을 경우
java.util.Date, java.text.SimpleDateFormat, java.text.ParseException 이용
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss초");
sdf.setLenient(false);//날짜와 시간을 엄격히 확인한다는 뜻. (lenient "느슨한")
try {
//2. String을 Date로 변환
Date strToDate = sdf.parse(timestampStr);
//3. Date를 Timestamp로 변환 (밀리초로 getTime() 해서)
java.sql.Timestamp dateToTimestamp = new java.sql.Timestamp(strToDate.getTime());
System.out.println("String -> Timestamp : " + dateToTimestamp);
}catch (ParseException e) {
e.printStackTrace();
}
● Timestamp를 Calendar로 가공하기
java.util.Calendar
Calendar 는 추상클래스이기 때문에 직접 객체를 생성할 수 없으므로 .getInstance() 로 객체를 얻어야 함
Calendar cal = Calendar.getInstance()
Calendar의 .add()함수 사용법
YEAR 년 / MONTH 월 / DATE 일
cal.add(Calendar.YEAR, 3); // +3년
Calendar 클래스로 Timestamp 값에 +3일
Timestamp ts = new Timestamp(System.currentTimeMillis());
Calendar cal = Calendar.getInstance();
cal.setTime(ts);
cal.add(Calendar.DATE, 3);
ts.setTime(cal.getTime().getTime()); // Date 형식 값 얻고, 밀리초 얻고
System.out.println(ts);
● LocalDateTime 과 Timstamp
java.time.LocalDateTime
형식은 yyyy-MM-ddTHH:mm:ss
LocalDateTime 을 Timestamp 로 변환
Timestamp.valueOf(LocalDateTime 값);
LocalDateTime currentLdt = LocalDateTime.now();
Timestamp ldtToTs = Timestamp.valueOf(currentLdt);
System.out.println(ldtToTs); //2023-04-09 03:15:45.7896283
Timestamp 를 LocalDateTime으로 변환
.toLocalDateTime() 이용
Timestamp ts = new Timestamp();
ts.toLocalDateTime();
System.out.println(ldtToTs.toLocalDateTime()); //2023-04-09T03:17:48.120906500
더 참고하기 좋은 사이트들
https://www.delftstack.com/ko/howto/java/java-get-current-timestamp/
자바스크립트
String -> Timestamp
https://www.delftstack.com/ko/howto/java/java-get-current-timestamp/
Java 날짜로 현재 타임 스탬프 가져 오기
이 게시물은 Java Date에서 현재 타임 스탬프를 얻는 방법을 소개합니다.
www.delftstack.com
자바 컨트롤러에서 받은 Timestamp의 date format 변환 (펌)
Timestamp 형식의 날짜 데이터를 바로 input type="datetime-local" 에 집어넣었더니 오류 뜸 //deadline 은 document.getElement('datetime-local 타입 input의 id'); deadline.value = product.prod_sell_deadline; prod_detail_write.js:60 The s
cinnamonlover.tistory.com