티스토리 뷰

Javacript

자바스크립트 내장객체 Date

선즈반 2018. 6. 5. 15:47

JavaScript의 표준, 내장(built-in) 객체 중 Date의 속성 및 메서드를 정리하려고 한다.


설명


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
만일 아무런 전달값도 없다면, 생성자는 Date 객체가 로컬 시간에 따른 현재 날짜와 시간값을 가지도록 합니다. 
만약 전달값 중 일부만 있다면, 나머지 빠진 전달값들은 모두 0이 됩니다. 모든 전달값을 제공하려면 최소한 
연도, 월, 일은 포함해야 하며, 시, 분, 초 그리고 밀리초는 생략할 수 있습니다.
 
날짜는 1970년 1월 1일 0시 (UTC) 부터 밀리초 단위로 측정됩니다. 하루는 86,400,000 밀리초입니다. 
Date 객체는 1970년 1월 1일 (UTC) 을 기준으로 -100,000,000 일부터 100,000,000일까지의 값을 가질 수 있습니다.

Date 객체는 모든 플랫폼에서 똑같은 동작을 제공합니다.
 
Date 객체는 로컬시간대의 함수처럼 사용할 수 있는 몇개의 UTC (universal) 메소드를 포함하고 있습니다. 
UTC는 흔히 그리니치 평균시(GMT, Greenwich Mean Time)로 알려져있으며, 세계 표준시로서 사용되고 있습니다. 
로컬 시간은 JavaScript 가 실행되는 컴퓨터의 시간입니다.
 
밀레니엄 계산(2000년대도 계산하는 것)과의 호환성을 위해, 연도를 지정할 때는 반드시 4자리로 써야 합니다. 
예를 들자면, 98이 아닌 1998로 써야한다는 뜻입니다. 연도 지정을 돕기 위해, JavaScript는 getFullYear, 
setFullYear, getUTCFullYear, setUTCFullYear 등의 메소드를 포함하고 있습니다



1
2
3
Note: 자바스크립트 Date 객체는 생성자를 호출해야만 생성됩니다.
생성자를 일반 함수처럼 호출하면  (i.e.  new 없이 호출하는 경우 ) Date 객체가 아니라 
문자열을 반환합니다. 일반적인 다른 자바스크립트 객체와는 달리, Date 객체는 Literal Syntax를 지원하지 않습니다.



1
2
3
4
5
6
7
8
9
10
11
// new 키워드 없이 Date를 aa에 할당하면 function 자체가 할당됨.
var aa = Date;
ƒ Date() { [native code] }
 
// new 키워드 없이 Date()를 할당하면 오늘 날짜의 String이 할당됨.
var bb = Date();
"Tue Jun 05 2018 10:08:07 GMT+0900 (한국 표준시)"
 
// new 키워들 사용 시 인스턴스 객체가 할당됨
var cc = new Date();
Tue Jun 05 2018 10:08:16 GMT+0900 (한국 표준시)




기본문법


1
2
3
4
new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);






Date 객체에서 자주 사용하는 메소드를 위주로 정리했다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 특정 년, 월, 일 세팅
// 월 세팅 시 -1해서 세팅 주의(1월은 0, 2월은 1, 12월 11 이렇게)
var oLastChristmas = new Date(20171125);
Mon Dec 25 2017 00:00:00 GMT+0900 (한국 표준시)
 
// 특정 년, 월, 일, 시, 분, 초까지 세팅
var oLastChristmas2 = new Date(20171125131100);
Mon Dec 25 2017 13:11:00 GMT+0900 (한국 표준시)
 
// 특정 파라미터 없이 인스턴스 생성 시 
var oNow = new Date();
Tue Jun 05 2018 15:09:28 GMT+0900 (한국 표준시)
 
// 두 날짜의 차이는 밀리초로 계산
// 14051368761/(1000*60*60*24) = 162.63158288194444 작년 크리스마스에 오늘까지 차이는 약 162일
var elapsed = oNow - oLastChristmas; 
14051368761



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// 년도
oChristmas2.getFullYear();
2017
 
// 월(월은 0부터 시)작
oChristmas2.getMonth();
11
 
// 일
oChristmas2.getDate();
25
 
// 요일(0은 일요일, 1은 월요일)
oChristmas2.getDay();
1
 
// 시간
oChristmas2.getHours();
13
 
// 분
oChristmas2.getMinutes();
11
 
// 초
oChristmas2.getSeconds();
0
 
oChristmas2.toLocaleDateString();
"2017. 12. 25."
oChristmas2.toLocaleTimeString();
"오후 1:11:00"




참고사이트


댓글