JS날짜 입력 형식에는 일반적으로 3가지 유형이 있다.
Type | Example |
---|---|
ISO Date | "2015-03-25" (The International Standard) |
Short Date | "03/25/2015" |
Long Date | "Mar 25 2015" or "25 Mar 2015" |
ISO 형식은 JS의 엄격한 표준을 따른다. 다른 형식은 잘 정의되어 있지 않으며 브라우저에 따라 다를 수 있다.
입력 형식에 관계없이 JS는 전체 텍스트 문자열 형식으로 날짜를 출력합니다.
Fri Dec 17 2021 10:02:45 GMT+0900 (한국 표준시)
ISO 8601은 날짜 및 시간 표시에 대한 국제 표준이다.
ISO 8601 구문(YYYY-MM-DD)도 선호되는 JS 날짜 형식이다.
계산된 날짜는 시간대를 기준으로 한다. 시간대에 따라 위의 결과는 3월 24일과 3월 25일 사이에 달라진다.
ISO 날짜는 요일(YYYY-MM)을 지정하지 않도 작성할 수 있다.
시간대는 2월 28일과 3월 1일 사이에 위의 결과를 변경한다.
ISO 날짜는 월과 일 없이 작성할 수 있다.(YYYY)
2014년 12월 31일과 2015년 1월 1일 사이의 시간대는 위의 결과와 다르다.
ISO 날짜는 시, 분, 초를 추가하여 작성할 수 있다.(YYYY-MM-DDTHH:MM:SSZ):
T
로 구분한다.UTC
시간은 대문자 Z
로 정의된다.UTC
를 기준으로 시간을 수정하려면 Z
를 제거하고 대신 +HH:MM
또는 -HH:MM
을 추가하자UTC(협정 세계시)는 GMT(그리니치 표준시)와 동일하다.
※날짜-시간 문자열에서T
또는Z
를 생략하면 브라우저에 따라 다른 결과가 나타날 수 있다.
날짜를 설정할 때 시간대를 지저않지 않으면 JS는 브라우저의 시간대를 사용한다.
날짜를 가져올 때 시간대를 지정하지 않으면 결과를 브라우저의 시간대로 변환한다.
즉, 날짜/시간이 GMT로 생성된 경우 사용자가 미국 중부에서 검색하면 날짜/시간이 CDT(미국 중부 일광 절약 시간)로 변환된다.
짦은 날짜는 다음과 같이 MM/DD/YYYY
구문으로 작성된다.
일부 부라우저에서는 앞에 0
이 없는 월 또는 일에 오류가 발생할 수 있다.
const d = new Date("2015-3-25");
YYYY/MM/DD
의 동작은 정의되지 않는다. 일부 브라우저는 형식을 추측하려고도 합다. 일부는 NaN
을 반환한다.
const d = new Date("2015/03/25");
DD-MM-YYYY
의 동작도 정의되지 않았다. 일부 브라우저는 형식을 추축하려고도 한다. 일부는 NaN
을 반환한다.
const d = new Date("25-03-2015");
긴 날짜는 대부문 다음과 같은 "MMM DD YYYY" 구문으로 작성된다.
월과 일의 순서는 다음과 같다.
그리고 월은 전체(January)로 쓰거나 축약(Jan)으로 쓸 수 있다.
쉼표는 무시된다. 이름은 대소문자를 구분하지 않는다.
유효한 날짜 문자열이 있는 경우 Date.parse()
메서드를 사용하여 밀리초로 변환할 수 있다.
Date.parse()
는 날짜와 1970년 1월 1일 사이의 밀리초 수를 반환한다.
그런 다음 밀리초 수를 사용하여 날짜 개체로 변환 할 수 있다.
완벽하게 참고하려면 아래 JavaScript Date Reference 주소를 참조하자
(참조 : https://www.w3schools.com/jsref/jsref_obj_date.asp)