freezner

[JS] 날짜(Date) 연산 방법

현재 날짜와 현재 날짜로 부터 날짜를 연산하는 방법을 정리합니다.

var d = new Date();

// 오늘 일자 구하기 (yyyy-m-d)
var today = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();

// 오늘 일자 구하기 (yyyy-mm-dd)
var today = d.getFullYear() + '-' + ('0' + (d.getMonth() + 1)).slice(-2) + '-' + ('0' + d.getDate()).slice(-2);

// 이번 주 구하기
var current_week_begin = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + (d.getDate() - d.getDay() + 1);
var current_week_end = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + (d.getDate() - d.getDay() + 7);

// 한 달 전
var o = new Date(d.getFullYear(), d.getMonth(), d.getDate());
console.log(o.getFullYear() + '-' + o.getMonth() + '-' + o.getDate());

// 1년 전
var o = new Date(d.getFullYear() - 1, (d.getMonth() - 1), d.getDate());
console.log(o.getFullYear() + '-' + o.getMonth() + '-' + o.getDate());

주의1 : 달을 구하는 getMonth()는 0부터 시작됩니다. (0 ~ 11) 그래서 현재 달을 구하기 위해서는 +1 을 헤주셔야 합니다.

주의2 : 이번 주를 구할때는 월요일이 아닌 일요일로 시작됩니다. 때문에 달과 마찬가지로 +1을 해주셔야 합니다.

Exit mobile version