평범한 연구소

[JAVA] 유닉스 timestamp → Date, String으로 바꾸기 (unix timestamp to String) 본문

JAVA/알고리즘 공부

[JAVA] 유닉스 timestamp → Date, String으로 바꾸기 (unix timestamp to String)

soyeonisgood 2022. 12. 30. 01:03

카카오페이 API

를 사용하던 중,

Response로 받는 결제시간 데이터가 UNIX timestamp 로 되어있었다. (timestamp : 1672329241)

DB에 INSERT 하기 전에 timestamp → Date  String  으로 바꿔주는 작업을 해야했다.

 

유닉스 시간은 1970년 1월 1일 00:00:00 부터의 경과 시간을 초로 환산하여 정수로 나타낸 것이다.

초는 ms(1/1000초) 단위이므로 1000 을 곱해준 후 Date에 넣는다. 

 

		...
        
        // 유닉스 타임스태프를 문자열로 변환
		long timestamp = Long.parseLong(paid_at); // paid_at : 1672329241
		Date date = new Date(timestamp*1000L);
		
		SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
		sdf.setTimeZone(TimeZone.getTimeZone("GMT+9")); 
	
		String time = sdf.format(date);
		System.out.println(time);
		sb.setPaid_at(time);
        
        ...

DB에 INSERT 할 땐 TO_DATE(날짜, "YYYY-MM-dd HH24:mm:ss") 유의하기!