[Javascript] Date 객체

2024. 5. 22. 09:00Javascript

728x90
Date 객체를 생성

 

 

let 변수명 = new Date(); 

 

let date1 = new Date();
console.log(date1);

→결괏값: Mon May 20 2024 19:12:56 GMT+0900 (한국 표준시)

 

 

특정한 날짜를 넣을 수 있음 Date뒤 () 안에 넣기 

Date 객체는 특정 년도 일 뿐만 아니라 시간도 추가 가능

 

 1. 문자열로 - 사용하여 넣기

    let 변수명 = new Date("xxxx-xx-xx/xx:xx:xx"); 

 

    let date2 = new Date("1998-07-26/20:10:10");


    console.log(date2);
       →결괏값: Sun Jul 26 1998 20:10:10 GMT+0900 (한국 표준시)

 

 

  2. 문자열로 .과 띄어쓰기 사용하여 넣기

     let 변수명 = new Date("xxxx. xx. xx/xx:xx:xx "); 

 

     let date2 = new Date("1998. 07. 26/20:10:10");


     console.log(date2);
        →결괏값: Sun Jul 26 1998 20:10:10 GMT+0900 (한국 표준시)

 

 

  3. 문자열로 / 사용하여 넣기

     let 변수명 = new Date("xxxx/xx/xx/xx:xx:xx"); 

 

     let date2 = new Date("1998/07/26/20:10:10");


     console.log(date2);
        →결괏값: Sun Jul 26 1998 20:10:10 GMT+0900 (한국 표준시)

 

 

  4. 숫자열로  ,사용하여 넣기

     let 변수명 = new Date(xxxx, xx, xx, xx, xx, xx); 

 

     let date2 = new Date(1998 , 07, 26, 20, 10, 10);


     console.log(date2);
        →결괏값: Wed Aug 26 1998 20:10:10 GMT+0900 (한국 표준시)

 

 

자세히 보면 1,2,3,4번 모두 같은 날짜를 입력

근데 4번의 결과만 다름 7월이 아닌 8월로 결과가 나옴

 

왜??

javascript는 0월부터 시작하기 때문에 숫자열로 입력하면 0월부터 카운트 시작

 

4번으로 쓸 때는 내가 출력하고자 하는 월에서 -1 해서 입력하자 꼭

 

 

 

타임 스태프

 

 

특정 시간이 '1970.01.01 00시 00분 00초'로부터 몇 ms가 지났는지를 의미하는 숫자값

 

왜 하필 '1970.01.01 00시 00분 00초'??

 → '1970.01.01 00시 00분 00초'가 협정세계시(UTC)

 

let 변수명 = 변수명2.getTime();

 

let date1 = new Date();

let ts1 = date1.getTime();


console.log(ts1);

→결괏값: 1716200480648

 

타임스탬프 값을 다시 Date 객체에 넣으면 시간으로 나옴

 

let date2 = new Date(ts1);
console.log(date1, date2);
→결괏값:  Mon May 20 2024 19:22:02 GMT+0900 (한국 표준시) Mon May 20 2024 19:22:02 GMT+0900 (한국 표준시)

 

 

 

 

시간 요소 추출

 

 

년도 추출 : let 변수명 = 변수명.getFullYear();

월 추출 : let 변수명 = 변수명.getMonth() +1 ; (+1해 주는 이유: 자바스크립트는 0월부터 시작이라 1-12월에 맞추기 위해)

일 추출 : let 변수명 = 변수명.getDate();

시 추출 : let 변수명 = 변수명.getHours();
분 추출 : let 변수명 = 변수명.getMinutes();

초 추출 : let 변수명 = 변수명.getSeconds();

 

let date1 = new Date();

let year = date1.getFullYear();
let month = date1.getMonth() + 1;
let date = date1.getDate();
let hour = date1.getHours();
let minute = date1.getMinutes();
let second = date1.getSeconds();
console.log(year, month, date, hour, minutes, seconds);

→결괏값:  2024 5 20 19 28 31

 

 

 

 

시간 요소 변경

 

 

년도 변경 : 변수명.setFullYear(변경할 년도);

월 변경 : 변수명.setMonth(변경할 월-1);

일  변경 : 변수명.setDate(변경할 일);

시  변경 : 변수명.getHours(변경할 시);

분  변경 : 변수명.getMinutes(변경할 분);

초  변경 : 변수명.getSeconds(변경할 초);

 

 

2023년 9월 16일 23:59:59로 바꾼다면

 

let date1 = new Date();

date1.setFullYear(2023);
date1.setMonth(8);
date1.setDate(16);
date1.setHours(23);
date1.setMinutes(59);
date1.setSeconds(59);


console.log(date1);

→결괏값: Sat Sep 16 2023 23:59:59 GMT+0900 (한국 표준시)

 

 

 

 

시간 여러 포맷 출력

 

변수명.toDateString()

→영어 포맷으로  출력

 

변수명.toLocaleString()

→ 각 나라에 맞게  출력

 

let date1 = new Date();

 

console.log(date1.toDateString());

→결괏값:   Mon May 20 2024(영어 포맷)

 

console.log(date1.toLocaleString());

→결괏값:  2024. 5. 20. 오후 8:56:59(한국어 포맷)

 

 

728x90