29, 30장. Math / Date

나주엽·2024년 8월 13일
0
post-thumbnail

Math

Math 는 생성자 함수가 아니다.

표준 빌트인 객체인 Math 정적 프로퍼티와 정적 메소드만 제공한다.

Date

Date 는 빌트인 객체이면서 동시에 생성자 함수다.

UTC(협정 세계시)를 기점으로 시간을 나타낸다. 단위는 ms 밀리초이다.

Date 생성자 함수

Date 생성자 함수로 생성한 Date 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 가지게 된다.

이 값은 1970년 1월 1일 00:00:00(UTC)을 기점으로 밀리초를 나타낸다.

new Date()

인자 없이 호출하면 현재 날짜와 현재 시간을 가지는 Date 객체를 반환한다.

만약 new 연산자 없이 호출하면 객체가 아닌 날짜와 시간 정보를 나타내는 문자열을 반환한다.

new Date(milliseconds)

밀리초를 인자로 전달하면 1970년 1월 1일 00:00:00(UTC)를 기점으로 해당 밀리초가 경과한 날짜와 시간을 나타내는 Date 객체를 반환한다.

new Date(dateString)

날짜와 시간을 나타내는 문자열을 전달해 Date 객체를 생성할 수도 있다.

이때 전달한 문자열은 Date.parse() 메서드에 의해 해석 가능한 형식이어야 한다.

new Date(year, month[, day, hour, minute, second, millisecond])

Date 생성자 함수에 연, 월, 시, … 를 인수로 전달해 지정된 날짜와 시간을 나타내는 Date 객체를 반환할 수 있다.

이때 연, 월은 반드시 지정해야 하며 month 는 0 부터 11까지임에 주의하자. (0 = 1월, 1 = 2월, …)

new Date(2024, 7, 13, 10, 00, 00, 0);
new Date('2024/8/13/10:00:00:00');

Date 정적 메서드

Date.now()

1970년 1월 1일 00:00:00(UTC)을 기점으로 현재 시간까지 경과한 밀리초를 반환한다.

Date.parse(dateString)

1970년 1월 1일 00:00:00(UTC)을 기점으로 인수로 전달된 지정 시간까지의 밀리초를 숫자로 반환한다.

Date.UTC(year, month[, day, hour, minute, second, millisecond])

1970년 1월 1일 00:00:00(UTC)을 기점으로 인수로 전달된 지정 시간까지의 밀리초를 숫자로 반환한다.

Date.prototype.getTimezoneOffset()

UTC와 Date 객체에 지정된 locale 시간과의 차이를 분 단위로 반환한다.

const now = new Date();  // now의 지정 로케일은 KST이다.

now.getTimezoneOffset() // -540

Date.prototype.toDateString()

사람이 읽을 수 있는 형식의 문자열로 Date 객체의 날짜를 반환한다.

const now = new Date('2024/8/13/10:00');

now.toString() // → Tue Aug 13 2024 10:00:00 GMT+0900 (대한민국 표준시)
now.toDateString()// → Tue Aug 13 2024

Date.prototype.toTimeString()

사람이 읽을 수 있는 형식의 문자열로 Date 객체의 시간을 표현한 문자열을 반환한다.

const now = new Date('2024/8/13/10:00');

now.toString() // → Tue Aug 13 2024 10:00:00 GMT+0900 (대한민국 표준시)
now.toTimeString()// → 10:00:00 GMT+0900 (대한민국 표준시)

Date.prototype.toISOString()

ISO 8601 형식으로 날짜와 시간을 표현한 문자열을 반환한다.

const now = new Date('2024/8/13/10:00');

now.toString() // → Tue Aug 13 2024 10:00:00 GMT+0900 (대한민국 표준시)
now.toISOString()// → 2024-08-13T01:00:00.000Z

0개의 댓글