Luxon DateTime 12시간에서 24시간으로 변환하는 방법

도모_땃쥐·2021년 12월 28일
0

세상에는 이런 사람도 있겠지...

기존 코드

import { DateTime } from "luxon";

const Component = (props: any) => {
  const data = props.data;
  const date = DateTime.fromISO(data.date).toFormat("yyyy-LL-dd h:mm")
}

기존 코드의 문제

처음에는 utc 설정을 못 맞춰줘서 생긴 문제인가 했다. utc와 한국 시간 차이는 +09:00 이기 때문에, 6시가 3시로 나오는 걸 보면서 처음에는 시간 설정이 잘못되었나 하면서 fromISO에 zone 을 지정해줬었다. 문제는 여전했다.

검색을 해보자

luxon 으로도, fromISO utc 로도 검색했지만 쓸만한 답을 찾지 못했다. 그러다가 '그럼 utc 하고 한국 시간 차이가 정말 어떻게 나오는데' 싶어져서 검색하고 페이지에 들어갔다. utc 기준으로 아침 6시는... 3시네? 심지어 날짜가 같아? 그러면 한국하고 영국 그리니치가 9시간 차이가 나는건가 했지만, 다시 보니 AM 6시에 9시간 더하면 PM 3시가 되는 문제였다. 시간 변환은 문제없이 되었고, 그러면 fromISO 문제는 아니므로, 뒤에 있는 포매팅 문제인가 싶어졌다.

정답

해답: 포매팅 문제(참고자료)
다시 luxon 도큐먼트로 돌아가 검색하고 답을 찾았다. 포매팅 문제였다. h를 H로 바꿔주니 해결되었다.

import { DateTime } from "luxon";

const Component = (props: any) => {
  const data = props.data;
  const date = DateTime.fromISO(data.date).toFormat("yyyy-LL-dd H:mm")
}
profile
이것저것하는 사람. 주로 python과 야바스크립트.

0개의 댓글