웹브라우저(web browser) javascript 에서 utc 값을 얻는 법
여러나라에서 사용하는 client 에서 서버로 date 값을 보내야 하는 경우
만약 client(web browser) 에서 여러나라에서 같은 ui 에 접속해서 date를 선택하고, 이 date 값을 server 로 전송하는 경우 문제가 있다.
예를 들어 “‘2022-12-25’ 에 대한 정보를 보여줘”라고 하는 경우다. 이 경우 2022-12-25 에 대해서 각 나라마다 unix-timestamp 값은 다르게 된다.
예를 들어 한국(KST)에서 ‘2022-12-25T00:00:00’ 이라면, 1671926400000 ms 값이 나온다. 그런데 UTC 인 경우 1671894000000 ms 값을 갖게 된다.
utc 로 통일
그래서 명확하게 하려고, 무조건 UTC date 로 던지게 한다. ‘2022-12-25’ 를 보내야 하는 경우라면, ‘2022-12-25T00:00:00Z’ 를 보내거나, 1671894000000 를 보내도록 한다.
아래처럼 간단히 할 수 있다.
var d = new Date('2022-12-25')
주의 참고 : Date() constructor - JavaScript | MDN
date-only string 을 argument로 넣으면, 이 값을 UTC 로 다뤄서, Date instance 를 만든다. 예를 들면, “2022-12-25”. 그러나 “2022-12-25T11:00” 를 하면 이것은 local 값으로 처리한다.
new Date('2022-12-25') Sun Dec 25 2022 09:00:00 GMT+0900 (한국 표준시) new Date('2022-12-25T00:00') Sun Dec 25 2022 00:00:00 GMT+0900 (한국 표준시)
js 에서 타임존을 얻는 법
Date.getTimezoneOffset()
: JavaScript Date getTimezoneOffset() MethodIntl.DateTimeFormat().resolvedOptions().timeZone
: Internationalization API | Can I use… Support tables for HTML5, CSS3, etc
댓글 없음:
댓글 쓰기