[TIL]UTC와 한국표준시(KST)

young0_0·2023년 11월 22일
0

js

목록 보기
10/10
post-custom-banner

UTC와 한국표준시(KST)

UTC

국제적인 표준 시간의 기준으로 쓰이는 시각

한국표준시(KST)

일본 표준시와 같은 동경 135도를 기준으로 하여 UTC 보다 9시간 빠른 표준시(UTC+9)이다.

글 작성이유


서버에서 날짜 데이터를 전달 받는데 String 값으로 전달 받았다.
날짜 데이터는 UTC를 기준으로 하고 있어 한국시간으로 다시 변경하여 프론트에서 보여지게 해야한다.

해결방법

  1. 받아오는 string 날짜 데이터를 UTC 시간으로 변경하기 위해 new Date()객체로 변환한다.
  2. UTC로 변경된 날짜에 9시간을 더한다. (1시간은 60분 1분은 60초 이므로 9시간을 밀리초로 변환하려면 96060*1000을 한다.)
  3. 한국표준시로 변경된 날짜를 다시 보여지고자하는 연도,월,일,시간,분,초변환 한다.
export const formatDate = (utcDateString: string): string => {
  const utcDate: Date = new Date(utcDateString)
  const kstDate: Date = new Date(utcDate.getTime() + 9 * 60 * 60 * 1000)

  // 한국 시간대에 맞게 날짜 포맷팅
  const yyyy = kstDate.getUTCFullYear()
  const MM = String(kstDate.getUTCMonth() + 1).padStart(2, "0") // getUTCMonth는 0부터 시작하므로 1을 더합니다.
  const dd = String(kstDate.getUTCDate()).padStart(2, "0")
  const hh = String(kstDate.getUTCHours()).padStart(2, "0") // getUTCHours는 이미 UTC+9을 더한 시간을 반환합니다.
  const mm = String(kstDate.getUTCMinutes()).padStart(2, "0")
  const ss = String(kstDate.getUTCSeconds()).padStart(2, "0")

  return `${yyyy}-${MM}-${dd} ${hh}:${mm}:${ss}`
}
profile
그냥하기.😎
post-custom-banner

0개의 댓글