지정한 날짜에 날짜를 더하거나 빼는 계산을 하는 유틸리티입니다.
전역함수로 만들었습니다.
순수 자바스크립트만 사용하기 때문에 그냥 갔다가 쓰시면 됩니다.
자바스크립트의 날짜를 계산할때는 'setDate'와 'getDate'를 조합하지 않으면 원하는 결과값이 나오질 않습니다.
그런데 'setDate'를 하면 원본이 수정되기 때문에 여러작업을 할때는 값이 이상하게 나옵니다.
그래서 날짜를 계산하기 전에 원복을 복제(clone)하고 복제된 값을가지고 계산하는 방식으로 만들었습니다.
깃허브 링크 : DGUtil-JS(클릭)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 |
/*파라미터 : dateUse*/
function DateUtility(dateUse) { //파라미터 갯수 확인
if (0 === arguments.length) { //없다.
//현재 날짜 사용
dateUse = new Date();
}
//파라미터가 있으면 지정한 날짜를 사용한다.
//복제한 date를 준다.
function CloneDate() {
return new Date(dateUse.valueOf())
}
//지정된 날짜를 리턴한다.
this.Today = function () {
return CloneDate();
};
//날짜에서 nDate만큼 더한 날짜를 리턴한다.
this.Day = function (nDay) {
var date = CloneDate();
date.setDate(date.getDate() + nDay);
return date;
};
//날짜에서 nMonth만큼 더한 월을 구한다.
this.Month = function (nMonth) {
var date = CloneDate();
date.setMonth(date.getMonth() + nMonth);
return date;
};
//날짜에서 nMonth만큼 더한 월의 1일을 구한다.
this.Month_First = function (nMonth) {
var date = this.Month(nMonth);
return new Date(date.getYear(), date.getMonth(), 1);
};
//날짜에서 nMonth만큼 더한 월의 마지막날짜를 구한다.
this.Month_Last = function (nMonth) {
var date = this.Month(nMonth);
return new Date(date.getYear(), date.getMonth() + 1, 0);
}
} |
cs |
사용방법은
'DateUtility'를 객체로 만들어 각각의 함수를 호출하시면 됩니다.
1 |
var dateUtil = new DateUtility(new Date()); |
cs |
이렇게 말이죠.
See the Pen EgQBPv by DangGun (@danggun) on CodePen.