본문 바로가기

JavaScript

[JavaScript] Date 함수 시간을 한국 시간으로 변경

JavaScript로 개발하다보면 Date 함수에서 사소한 불편함을 느끼는 경우가 있다. 

바로 시간이다. 

 

new Date를 사용해서 현재 시간을 가져와서 확인한다면 바로 알 수 있다. 

// 현재 시간 : 2023-04-13 09:00:00
const curr = new Date();

console.log(curr);
// 2023-04-13 00:00:00

Date의 기준이 영국시간으로 9시간 전이기 때문이다. 

 

크게 보면 문제가 없을 수 있다. 모든 시간을 Date를 기준으로 사용한다면? 

하지만 어떤 경우에는 9시간 차이로 인해서 13일이라면 12일로 나오는 경우도 있다. 

 

프론트엔드에서 이런 차이가 얼마나 크겠냐 싶지만 크리티컬한 문제를 발생시킬 수 있는 부분이기도 하다. 

그럼 이것을 한국 시간으로 어떻게 바꿔야할까? 

 

const offset = 1000 * 60 * 60 * 9
const koreaNow = new Date((new Date()).getTime() + offset)

console.log(Date.now.replace("T", " ").split('.')[0])
//2022-07-19 06:31:12  -> UTC
console.log(koreaNow.toISOString().replace("T", " ").split('.')[0])
//2022-07-19 15:31:12  -> Seoul/Asian

다음과 같이 9시간을 현재 시간에 더해준 새로운 Date를 사용하는 것이다. 

크게 어려운 코드가 아니니 필요에 따라 사용해볼만 하다.

반응형

'JavaScript' 카테고리의 다른 글

[JavaScript] localeCompare  (0) 2023.04.22
[JavaScript]   공백 표시가 안되는 경우  (0) 2023.04.14
[JavaScript] ??와 || 의 차이  (0) 2023.04.09
[JavaScript] then vs Async/Await  (0) 2023.01.27
[JavaScript] every, some  (0) 2023.01.12