JavaScript 익히기 #14 Date

Sunki-Kim·2022년 9월 14일
0

JavaScript 익히기

목록 보기
15/23

실무 웹 개발에서 날짜는 꽤나 자주 등장하는 케이스다.

날짜를 단순히 띄우기 뿐만 아니라 시간을 계산하거나, 필요한 시간단위만 띄워야하는 경우가 종종 있는 편인데, 이를 정리해두면 좋을거 같다는 생각이 들었다.

표준 빌트인 객체인 Date는 날짜와 시간을 위한 메서드를 제공하는 생성자 함수이다.

국제 표준시인 UTC기준으로 9시간을 더해 KST(한국 표준시)를 잡는다.
현재 날짜와 시간은 자바스크립트 코드가 실행된 시스템의 시계에 의해 결정된다.


new date = Date();

console.log(date);

date 생성자 함수를 인수 없이 new 연산자와 함께 호출하면 현재 날짜와 시간을 가지는, date 객체를 반환한다.


  • yy-mm-dd 양식

yy-mm-dd로 사용할 일이 잦아 해당 형식으로 표현하는 방법도 적어본다.

// yy-mm-dd 양식 만들기
var year = date.getFullYear(); // 2022

// date.getMonth -> 8 여기에서 월이 두자리가 되게 slice를 해준다.
var month = ('0' + (date.getMonth() + 1)).slice(-2); // 09

// day도 마찬가지
var day = ('0' + date.getDate()).slice(-2); // 15

// 각 변수 사이에 하이픈을 넣어준다.
var dateString = year + '-' + month  + '-' + day;

console.log(dateString); // 2022-09-15

각 년도와 월,일을 가져와서 슬라이싱하여, 만들어주면, 원하던 양식으로 표현이 가능했다. 이 작업 이후에 다른 방식으로도 가져올 수 있는 방법이 있었다.

dateISO = date.toISOString()

console.log(dateISO);
// 2022-09-15T22:57:34.675Z

dateISO.slice(0, 10)
// 2022-09-15
dateISO.slice(0, 10).replace(/-/g,'')
// 20220915

toISOString을 사용하면, ISO8601형식으로 date 객체를 문자열로 반환해준다.


  • 두 날짜 사이 일수 계산하기
const getDataDiff = (day1, day2) => {
    var date1 = new Date(day1);
    var date2 = new Date(day2);

    var diffDate = date1.getTime() - date2.getTime()
    return Math.abs(diffDate/ (1000 * 60 * 60 * 24)) // ms * sec * min * hour = day
}

date1 - date2 수식을 이용하여 두 날짜의 시차를 계산하는 함수다.

초,분,시간,일 값을 나눠서 차이 값을 얻어준다.

소스코드

profile
당신에게 가치있는 Developer가 되고자

0개의 댓글