본문 바로가기
프로그래밍

자바스크립트 날짜 다룰 때

by 망고데이 2019. 11. 25.
반응형

참고 사이트: https://meetup.toast.com/posts/130

1. 날짜는 해당 지역의 시각으로 반영되어 클라이언트에서 보여야 한다.

2. 절대 데이터는 UTC 기준 유닉스 시간이거나  오프셋 정보가 포함된 ISO-8601

3. 사용자 정보를 받아서 utc로 변환하는 작업을 파싱, utc나 iso-8601을 받아서 그 지역에 맞게 보여주는 작업을 포맷팅이라고 한다. 포맷팅은 대게 클라이언트에게 위임한다.

4. 자바스크립트의 Date는 자바 유틸의 영향을 받았다고 함.  -> 불변 데이터가 아님.

5. parse, getHour, setHour 등의 메서드는 클라이언트 로컬 타임존의 영향을 받는다. 그러므로 사용자가 입력한 데이터를 이용해 그대로 Date 객체를 생성하거나 값을 지정한다면 그 데이터는 클라이언트의 로컬 타임존을 그대로 반영하게 될 것이다.

6. 자바스크립트는 임의로 타임존을 변경할 수 있는 방법을 제공하지 않는다.

7. Date.parse는 신뢰하지 않는다. ISO-8601포맷도 new Date에 넣으면 쓸 수 있다.

8. 쌩 자바스크립트 객체를 이용해서 서울에서의 현재 시각이 뉴욕에서 몇시인지 보여주고 싶다면 getTimeZoneOffse을 사용해서 new Date를 만들 때 직접 보정해서 넣어줘야 한다.

9. 타임존은 단순히 오프셋이 아니라 모든 오프셋 변경의 히스토리를 담고 있는 일종의 데이터베이스이다.

10. moment.js 를 사용하는 게 좋다.

11. utc는 영국 런던 기준 1972년부터 사용한 시간 우리나라는 utc + 9 기존엔 GMT를 사용함.

반응형