[JavaScript] JavaScript에서 JSON Date String 파싱하기

앞에서 UTC, Timezone, ISO 8601 그리고 python에서 그러한 형태에 따라서 어떻게 자료를 가공해야하는지에 대해서 다루었다면 javascript json으로 date관련 문자열을 넘겨 받았을 때 Date객체로 어떻게 변환하는지에 대해서 알아본다.


이전 포스트

UTC, Timezone, ISO 8601의 개념이랑 python에서 간단한 예제를 미리 보고 싶으신 분은 ISO 8601과 UTC 그리고 python 예제를 참고하시길 바랍니다!


Javascript 날짜와 시간 관련 class

Javascript에서는 Date라는 class를 사용해서 날짜 관련 처리를 해주는데 기본적으로 아래와 같은 기능들을 모두 지원해준다.(편하다)

  • 현재 컴퓨터에서 설정된 시간과 날짜를 참고해 Date관련 클래스를 생성해주고 년/월/일T시:분:초.밀리초의 정보를 다 get 및 set이 가능하다.
  • 현재 컴퓨터에서 설정된 시간 기준으로 UTC 표준시에 관한 부분들도 다 get과 set을 지원해준다.
  • ISO 8601 형식 및 JSON(UTC 기준시로 나타내줍니다. - 즉 Timezone이 적용된 ISO 8601형태로 뽑아줍니다.)

자세한 설명은 코드를 직접 작성하기보다 w3shcools에 너무 잘 나와있어서 링크를 첨부하겠습니다.


JSON(in ISO 8601 format) => Date객체

그러먼 JSON으로 온 date관련 문자열을 어떻게 Date클래스로 만들 수 있는지 보도록 하겠습니다.

기본적으로 Date class에 있는 contructor에서 자동으로 파싱을 해서 생성합니다.

var date = new Date("2017-03-17T09:38:51.249Z")

/*
다음 아래들도 다 같은 표현입니다.
*/

date = new Date("2017-03-17T09:38:51.249Z")

// KST(UTC로 부터 9시간이 더해진 한국 표준시)를 나타내는 표현식으로도 가능합니다.
date = new Date("2017-03-17T09:38:51.249+09:00")

P.S. 기본적으로 Timezone에 대한 정보 없이 milliseconds나 날짜로만 입력하면 자동으로 Local Timezone으로 입력이 됩니다.