본문 바로가기
프론트엔드/React

[ React ] toISOString()를 사용하여 시간 출력하기

by CODESIGN 2022. 12. 4.

 toISOString()


 toISOString()는 Date를 ISOString(yyyy-mm-ddThh:mm:ss) 형식의 문자열로 날짜와 시간 정보를 반환해주는 함수다.

 

 

🚨주의


해당 메서드는 UTS(미국) 기준으로 출력되기 때문에 한국시간으로 맞추기 위해서는 3240 * 10000(9시간) 수식을 현재 출력되는 시간에 더해주어야 한다.

 

 

toISOString() 사용하지 않은 경우

 

const TIME_ZONE = 3240 * 10000;
const date = new Date('2022-12-04 10:20:21');
const formDate = new Date(+date + TIME_ZONE);
console.log(formDate); //Sun Dec 04 2022 19:20:21 GMT+0900 (한국 표준시)

 

 

toISOString()를 사용한 경우: YYYY-MM-DDTHH:MM:SS

 

const TIME_ZONE = 3240 * 10000;
const date = new Date('2022-12-04 10:20:21');
const formDate = new Date(+date + TIME_ZONE).toISOString();
console.log(formDate);  // 2022-12-04T10:20:21.000Z

 

현재 출력된 날짜와 시간은 깔끔하지가 않다. 날짜와 시간 사이에 'T'가 존재하고, 출력된 시간 뒤에는 '000Z'가 붙는다. 아래의 코드를 사용하여 조금 더 깔끔하게 수정해주었다.

 

 

toISOString()를 사용한 경우: YYYY-MM-DD HH:MM:SS

 

 const TIME_ZONE = 3240 * 10000;
  const date = new Date('2022-12-04 10:20:21');
  const formDate = new Date(+date + TIME_ZONE).toISOString().replace('T', ' ').replace(/\..*/, '');
  console.log(formDate); // 2022-12-04 10:20:21

 

 

 

참고


 

Date.prototype.toISOString() - JavaScript | MDN

toISOString() 메서드는 단순화한 확장 ISO 형식(ISO 8601)의 문자열을 반환합니다. 반환값은 언제나 24글자 또는 27글자(각각 YYYY-MM-DDTHH:mm:ss.sssZ 또는 ±YYYYYY-MM-DDTHH:mm:ss.sssZ)입니다. 시간대는 언제나 UTC

developer.mozilla.org

 

 

댓글