GMT는 기준이 되는 시간
요일, 월, 일, 년, 시, 분, 초 순서로 되어있다.
위의 사진은 GMT기준으로 6시간 빠르다는 것이고, 한국은 아래와 같이 표시됩니다.
GMT+0900 (한국 표준시) - 표준 시 기준으로 9시간 느리다는 것이겠다.
Date는 객체인데, Date 객체를 통해서 현재 시간을 가져온 후에
객체가 갖고 있는 함수로 각 날짜, 시간의 값을 가져올 수 있다.
Date();
아래 예시처럼 Date();
객체를 사용해서 가져온 내용을 담은 변수에 다시 Date 자체가 원래 가지고 있는 메소드를 사용할 수 있다.
var 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();
console.log(year);
console.log(month);
console.log(date);
console.log(day);
console.log(currentHour);
console.log(currentMin);
🔥 주의할점
getMonth 를 사용할 때 항상 1씩 작은 달이 출력된다는 점을 주의하자.
시간이 흐른다고해서 당장 rightNow에 그것이 담기고 있는 것은 아니다.
위의 코드 1번째 줄이 실행되는 순간 rightNow 에 담긴 것이다.
getTime();
getTime 메서드를 사용하면 날짜의 밀리초 (milli - second) 를 반환할수있다.
1000 millisecond = 1 second 이다.
출력했을 때 나온 숫자는 1970년 1월 1일 기준으로 센 밀리초이다.
1970년 1월 1일로부터 1564563605026 밀리초가 지났다는 의미입니다.
getTime 함수를 언제 사용하는가?
getTime 함수를 통해 반환된 숫자를 비교연산자를 이용해서 어떤 것이 더 과거인지 알 수 있다.
값이 더 작으면 과거이다.
특정 날짜를 매개변수 (parameter)로 넘겨주면 마찬가지로 해당 날짜의 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);
🔥 주의할점
위의 두 문법을 사용할때는 ''
따옴표와 함께 넣어야한다.
내가 짠 코드
function getWesternAge(birthday) {
let birth = new Date(birthday);
let today = new Date();
let birthYear = birth.getFullYear();
let rightYear = today.getFullYear();
let oneYear = 1;
let age = rightYear - birthYear - oneYear;
if (birth.getMonth() > today.getMonth()) {
return rightYear - birthYear - oneYear;
} else if (birth.getMonth() === today.getMonth() && birth.getDate() > today.getDate()) {
return rightYear - birthYear - oneYear;
} else {
return rightYear - birthYear;
}
}
getWesternAge('1992-10-31T10:01:00');
태어난 월, 지금 월 가져와서 비교. 태어난 월이 크면, 일단 월이 지났다는 소리이므로
현재 년 - 태어난 년 - 1년 출력
태어난 월, 지금 월 비교해서 같으면, 그다음에는 일을 비교한다.
태어난 일이 크면 생일이 지났단 소리이므로
현재 년 - 태어난 년 - 1년 출력