파트 1 - 4) 자료구조와 자료형 - 11) Date 객체와 날짜

Lee·2021년 11월 29일
0

Date 객체와 날짜 https://ko.javascript.info/date

new Date() 객체는 인수에 여러가지 값이 올 수 있다.
인수 없이 호출하면 현재 날짜와 시간이 저장된 Date 객체가 반환된다.

new Date(milliseconds) - UTC 기준(UTC+0) 1970년 1월 1일 0시 0분 0초에서 milliseconds 밀리초(1/1000 초) 후의 시점이 저장된 Date 객체를 반환
(1970년 1월 1일 이전 날짜에 해당하는 타임스탬프 값은 음수)

// 31 Dec 1969
let Dec31_1969 = new Date(-24 * 3600 * 1000);
alert( Dec31_1969 );

new Date(datestring) - 인수로 오는 문자열은 날짜 형태로 parsing 된다.
여기에 적용되는 알고리즘은 Date.parse에서 사용하는 알고리즘과 동일하다.

let date = new Date("2017-01-26");
alert(date);
// 인수로 시간은 지정하지 않았기 때문에 GMT 자정이라고 가정하고
// 코드가 실행되는 시간대(timezone)에 따라 출력 문자열(시간대, 날짜 및 시간)이 바뀐다.

이외에도 new Date(year, month, date, hours, minutes, seconds, ms) 이렇게 많은 형태의 날짜, 시간 관련 인수들이 올 수 있고 주어진 인수를 조합해 만들 수 있는 날짜가 저장된 객체가 반환된다(지역 시간대 기준).
date는 일을 나타내는데, 값이 없는 경우엔 1일로 처리되고 hours, minutes, seconds, ms에 값이 없는 경우엔 0으로 처리된다.

날짜 구성요소를 얻을 수 있는 Date 객체의 메서드
getFullYear(), getMonth(), getDate(), getHours(), getMinutes(), getSeconds(), getMilliseconds(), getDay(), getTime(), getTimezoneOffset() 은

getDay() 는 0~6 까지의 숫자를 반환하는데 이는 일요일~토요일을 의미한다.
위 메서드 이름에 있는 ‘get’ 다음에 'UTC’를 붙여주면 표준시(UTC+0) 기준의 날짜 구성 요소를 반환해주는 메서드 getUTCFullYear(), getUTCMonth(), getUTCDay()를 만들 수 있다.

getTimezoneOffset()은 현지 시간과 표준 시간의 차이(분)를 반환한다.

Date 객체에는 자동고침(autocorrection) 기능이 있어 입력받은 날짜 구성 요소가 범위를 벗어나면 초과분은 자동으로 다른 날짜 구성요소에 배분된다.

0이나 음수를 날짜 구성요소에 넣을 수도 있다.

date.setDate(0); // 일의 최솟값은 1이므로 0을 입력하면 전 달의 마지막 날을 설정한 것과 같은 효과를 봅니다.
alert( date ); // 31 Dec 2015

모던 자바스크립트 엔진은 아주 많이 실행된 코드인 'hot code’를 대상으로 최적화를 수행한다(실행 횟수가 적은 코드는 최적화할 필요가 없다).
자바스크립트 엔진이 어떻게 동작하는지 공부해야 최적화를 제대로 이해하고 수행할 수 있다.

profile
하고 싶은 게 너무 많습니다.

0개의 댓글

관련 채용 정보