본문 바로가기
Javascript

JavaScript - 날짜와 시간

by Su1993 2020. 6. 22.
반응형

1. 날짜와 시간(Date)

프런트엔드 개발할 때, 날짜와 시간을 다루는 경우가 많다.

  • 회원가입을 한 날짜와 시간,
  • 글을 작성한 시간
  • 휴대폰의 현재 시간 등..

 

날짜와 시간을 저장하고 보여줄 때 날짜 객체를 사용한다. 날짜 객체를 호출하면 쉽게 시간과 날짜를 얻을 수 있다.

날짜 객체를 생성할 때는 new 연산자 다음에 Date 생성자를 쓴다.

 

var rightNow = new Date();
console.log(rightNow);

 

이렇게 코드를 작성할 경우 console.log를 찍어보면,

 

2019-02-18T00:45:06.562Z

 

이러한 값이 나온다.

 

단, 브라우저마다 표현하는 법이 조금씩은 다르다.

new Date()로 반환된 표현은 사람이 읽기 좋은 표현일 뿐, 실제로 코딩할 때는 new Date()에서 반환된 표현을 그대로 사용하지 않는다.

 

 

GMT란 Greenwich Mean Time의 줄임말이며 컴퓨터 언어에서는 GMT 기준으로 시간을 알려준다. 위의 사진은 GMT 기준으로 6시간 빠르다는 것이고, 한국은 아래와 같이 표시된다.

GMT+0900(한국표준시)

 

이렇게 new Date()를 통해 현재 시간을 가져온 후, 디자이너가 요구하는 날짜 포맷으로 웹사이트에 보여줘야 한다.

(예. 2월 18일 월요일 19:00)

 

Date 객체로 현재 시간을 가져온 후, Date 객체가 갖고 있는 함수로 각 날짜, 시간의 값을 가져올 수 있다.

let rightNow = new Date();
let year = rightNow.getFullYear();
let month = rightNow.getMonth()+1;
let date = rightNow.getDate();
let day = rightNow.getDay();
let currentHour = rightNow.getHours();
let currentMin = rightNow.getMinutes();

 

앞서 얘기했듯이, new Date()가 반환된 rightNow는 Date타입이 갖고 있는 메서드를 활용해 값을 받아온다.

 

⚠️  getMonth 함수로 값을 받을 때, 현재 달보다 1 작은 값이 반환된다.

또한 1초, 1초 시간이 흐른다고 해서  rightNow 담긴 시간 값이 변하지 않는다. 위의 코드 1번째 줄이 실행되는 순간의 현재 시간이 담기는 것이다.

 


2. getTime

let rightNow = new Date();
let time = rightNow.getTime();

 

getTime 메서드로 날짜의 밀리초 표현을 반환할 수 있다.

콘솔로 찍어보면 1592752530566 이라는 숫자가 반환되는데, 이 숫자는 오늘, 지금의 시간이 밀리초로 표현된 것이다.

참고로, 기준이 되는 일자는 1970년 1월 1일이다. 1970년 1월 1일로부터 1592752530566 밀리초가 지났다는 의미이다.

이렇게 getTime 함수로 반환된 숫자로 비교 연산을 통해 언제가 더 과거인지 판단할 수 있다. 값이 더 작으면 과거이다.

 


3. 특정 날짜의 Date

특정 날짜를 매개변수로 넘겨주면, 해당 날짜의 Date를 반환받을 수 있다.

 

let date1 = new Date('December 17, 2019 03:24:00');
let date2 = new Date('2019-12-17T03:24:00');
let date3 = new Date(2019, 5, 1);
반응형

'Javascript' 카테고리의 다른 글

JavaScript - Object  (0) 2020.07.04
JavaScript - Number  (0) 2020.07.04
JavaScript - String, Number 변환  (0) 2020.06.22
JavaScript - String  (0) 2020.06.21
JavaScript - 데이터 타입  (0) 2020.06.21

댓글