목차

JavaScript Date Objects

  • description : JavaScript Date Objects
  • author : 오션
  • email : shlim@repia.com
  • lastupdate : 2021-04-13

Ref

JavaScript Date Objects
JavaScript Date Object를 사용하면 날짜 작업을 할 수 있습니다.

JavaScript Date Output

기본적으로 JavaScript는 브라우저의 시간대를 사용하고 날짜를 전체 텍스트 문자열로 표시합니다.

<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo"></p>
<script>
var d = new Date();
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>

Creating Date Objects

Date 오브젝트는 new Date() 생성자(constructor)로 생성됩니다.

날짜 오브젝트(date object)를 만드는 방법에는 4 가지가 있습니다.

new Date()
new Date(year, month, day, hours, minutes, seconds, milliseconds)
new Date(date string)

new Date()

new Date()현재 날짜와 시간으로 새 날짜 오브젝트를 만듭니다.

var d = new Date();


Date 오브젝트는 정적(static)입니다. 컴퓨터 시간은 똑딱거리지만 date objects는 그렇지 않습니다.

new Date(year, month, ...)

new Date(year, month, ...)지정된 날짜와 시간으로 새 date 오브젝트를 만듭니다.

7 개의 숫자는 년(year), 월(month), 일(day), 시(hour), 분(minute), 초(second) 및 밀리 초(millisecond)를 순서대로 지정합니다:

<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>Using new Date(7 numbers), creates a new date object with the specified date and time.</p>
<p id="demo"></p>
<script>
var d = new Date(2018, 11, 24, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>


Note:
JavaScript는 달을 0에서 11까지로 계산합니다.

1월은 0이고, 12월은 11입니다.

6개의 숫자는 년(year), 월(month), 일(day), 시(hour), 분(minute), 초(second)를 지정합니다.

var d = new Date(2018, 11, 24, 10, 33, 30)   // Mon Dec 24 2018 10:33:30 GMT+0900 (대한민국 표준시)


5개의 숫자는 년(year), 월(month), 일(day), 시(hour), 분(minute)을 지정합니다.

var d = new Date(2018, 11, 24, 10, 33);   // Mon Dec 24 2018 10:33:00 GMT+0900 (대한민국 표준시)


4개의 숫자는 년(year), 월(month), 일(day), 시(hour)를 지정합니다.

var d = new Date(2018, 11, 24, 10);   // Mon Dec 24 2018 10:00:00 GMT+0900 (대한민국 표준시)


3개의 숫자는 년(year), 월(month), 일(day)을 지정합니다.

var d = new Date(2018, 11, 24);   // Mon Dec 24 2018 00:00:00 GMT+0900 (대한민국 표준시)


2개의 숫자는 년(year), 월(month)을 지정합니다.

var d = new Date(2018, 11);   // Sat Dec 01 2018 00:00:00 GMT+0900 (대한민국 표준시)


월(month)은 생략할 수 없습니다. 매개 변수를 하나만 제공하면 밀리 초로 처리됩니다.

var d = new Date(2018);  // Thu Jan 01 1970 09:00:02 GMT+0900 (대한민국 표준시)

Previous Century

한 자리 및 두 자리 연도는 19xx로 해석됩니다.

var d = new Date(99, 11, 24)  // Fri Dec 24 1999 00:00:00 GMT+0900 (대한민국 표준시)
var d = new Date(09, 11, 24)  // Fri Dec 24 1909 00:00:00 GMT+0830 (대한민국 표준시)

new Date(dateString)

new Date(dateString)date string에서 새 날짜 오브젝트를 만듭니다.

var d = new Date("October 13, 2014 11:13:00");   // Mon Oct 13 2014 11:13:00 GMT+0900 (대한민국 표준시)

JavaScript Stores Dates as Milliseconds

JavaScript는 1970 년 1 월 1 일, 00:00:00 UTC (Universal Time Coordinated) 이후 날짜를 밀리 초 단위로 저장합니다.

제로 타임(Zero time)은 1970 년 1 월 1 일 00:00:00 UTC입니다.

현재 시간은 1970 년 1 월 1 일 이후 1618269610417 밀리 초입니다.

new Date(milliseconds)

new Date(milliseconds)제로 타임에 밀리 초를 더한 새 날짜 객체를 만듭니다:

var d = new Date(0);   // Thu Jan 01 1970 09:00:00 GMT+0900 (대한민국 표준시)


1970 년 1 월 1 일 + 100 000 000 000 밀리 초는 대략 1973 년 3 월 3 일입니다:

var d = new Date(100000000000);   // Sat Mar 03 1973 18:46:40 GMT+0900 (대한민국 표준시)


1970 년 1 월 1 일에서 100,000000000 밀리 초를 뺀 값은 대략 1966 년 10 월 31 일입니다.

var d = new Date(-100000000000);   // Mon Oct 31 1966 23:13:20 GMT+0900 (대한민국 표준시)
var d = new Date(86400000);   // Fri Jan 02 1970 09:00:00 GMT+0900 (대한민국 표준시)


하루 (24시간)sms 86,400,000 밀리 초입니다.

Date Methods

Date 오브젝트가 생성되면, 여러 메서드를 사용하여 작업할 수 있습니다.

Date 메서드를 사용하면 현지 시간 또는 UTC (범용 또는 GMT) 시간을 사용하여
date 오브젝트의 년, 월, 일, 시, 분, 초 및 밀리 초를 가져오고 설정할 수 있습니다.

Displaying Dates

JavaScript는 (기본적으로) 전체 텍스트 문자열 형식으로 날짜를 출력합니다.

Tue Apr 13 2021 10:12:34 GMT+0900 (대한민국 표준시)


HTML로 date 오브젝트를 표시하면, toString() 메서드를 사용하여 자동으로 문자열로 변환됩니다.

Example

d = new Date();
document.getElementById("demo").innerHTML = d;

Same as:

d = new Date();
document.getElementById("demo").innerHTML = d.toString();


toUTCString() 메소드는 날짜를 UTC 문자열 (날짜 표시 표준)로 변환합니다.

var d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();  // Tue, 13 Apr 2021 01:23:20 GMT


toDateString() 메서드는 날짜를 더 읽기 쉬운 형식으로 변환합니다.

var d = new Date();
documenet.getElementById("demo").innerHTML = d.toUTCString();   // Tue, 13 Apr 2021 01:23:20 GMT


toISOString() 메서드는 ISO 표준 형식을 사용하여 날짜를 문자열로 변환합니다.

var d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();   // 2021-04-13T01:29:51.993Z