티스토리 뷰

0 붙이는거 찾다가 잘 정리 되있어서 퍼옴


출처 : http://tychejin.blog.me/220998416082



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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
[javaScript] 날짜 관련된 함수 정리
 
1. 날짜 반환(format이 없으면 오늘(yyyy-MM-dd)날짜 반환)
2. target 날짜의 일 후(음수), 일 전(양수) 반환
3. target 날짜가 target 달의 몇 번째 주 인지를 반환
4. target 날짜의 요일을 반환
5. target 날짜 간의 일 수 차이를 반환
6. 0을 붙여 두 자리수로 변경하여 반환 (날짜 형식에 사용)
7. 0을 제거하여 한 자리수로 변경하여 반환 (날짜 형식에 사용)
 
/**
 * 날짜 반환(format이 없으면 오늘(yyyy-MM-dd)날짜 반환)
 * @param tormat(yyyy|MM|dd|hh|mm|ss 치환)
 * @returns {String}
 */     
function cfGetDate(format){  
    
    var result = "";
    var date = new Date();
    
    if(format !== undefined){
        
        result = format.replace(/(yyyy|MM|dd|hh|mm|ss)/gi, function($obj){
        
            switch ($obj) {
                
                case "yyyy"return date.getFullYear();                 
                case "MM"return cfSetAddZero(date.getMonth() + 1);
                case "dd"return cfSetAddZero(date.getDate());                 
                case "HH"return cfSetAddZero(date.getHours());
                case "hh"return cfSetAddZero((h = date.getHours() % 12) ? h : 12);
                case "mm"return cfSetAddZero(date.getMinutes());
                case "ss"return cfSetAddZero(date.getSeconds());
             
                defaultreturn $obj;
            }
        });
        
    } else {
                    
        result = date.getFullYear() + "-" + cfSetAddZero(date.getMonth() + 1+ "-" + cfSetAddZero(date.getDate());
    }
    
    return result;
}
 
/**
 * target 날짜의 일 후(음수), 일 전(양수) 반환
 * @param target (yyyy-MM-dd)
 * @param date (1, -1)
 * @returns {String}
 */
function cfGetDateCalc(target, date){
     
     var targetArr = target.split("-");
     var dateCacl = 0;
     var date = "";
     
     // 일 후, 양수( 1 )
     if(date >= 0){
         dateCacl = parseInt(targetArr[2]) + Math.abs(date);
     } 
     // 일 전, 음수( -1 )
     else {
         dateCacl = parseInt(targetArr[2]) - Math.abs(date);             
     }
     
     date = new Date(targetArr[0], targetArr[1- 1, dateCacl);
     
     return date.getFullYear() + "-" + cfSetAddZero(date.getMonth() + 1+ "-" + cfSetAddZero(date.getDate());
}
 
/**
 * target 날짜가 target 달의 몇 번째 주 인지를 반환
 * @param target (yyyy-MM-dd)     
 * @returns {String}
 */ 
function cfGetWeekOfMonth(target){
    
    var targetArr = target.split("-");
        
    var dateSel = new Date(targetArr[0], targetArr[1- 1, targetArr[2]);
    var daySel = dateSel.getDate();
    
    var dateStr = new Date(targetArr[0], targetArr[1- 1"01");
    var dayStr    = dateStr.getDay();
     
    return Math.ceil((daySel + dayStr) / 7);         
}
 
/**
 * target 날짜의 요일을 반환
 * @param target (yyyy-MM-dd)     
 * @returns {String}
 */ 
function cfGetDayOfWeek(target){
    
     var week = ["일""월""화""수""목""금""토"];
     
     var result = week[new Date(target).getDay()];
     
     return result;
}
 
/**
 * target 날짜 간의 일 수 차이를 반환
 * @param targetSta (yyyy-MM-dd)
 * @param targetEnd (yyyy-MM-dd)
 * @returns {String}
 */      
function cfGetDateTerm(targetSta, targetEnd){
 
    var staArr = targetSta.split("-");
    var endArr = targetEnd.split("-");
     
    var staObj = new Date(staArr[0], parseInt(staArr[1]) - 1parseInt(staArr[2]));
    var endObj = new Date(endArr[0], parseInt(endArr[1]) - 1parseInt(endArr[2]));
         
    return (endObj.getTime() - staObj.getTime()) / (1000 * 60 * 60 * 24);
}      
 
/**
 * 0을 붙여 두 자리수로 변경하여 반환 (날짜 형식에 사용)
 * @param target
 * @returns {String}
 */
function cfSetAddZero(target) {     
    
    var num = parseInt(target);
    
    var str = num > 9 ? num : "0" + num;
    
    return str.toString();
}
 
/**
 * 0을 제거하여 한 자리수로 변경하여 반환 (날짜 형식에 사용)
 * @param target
 * @returns {String}
 */
function cfSetDeleteZero(target) {     
    
    var num = parseInt(target);
    
    var str = num.length >= 2 && num.substr(01== 0 ? num.substr(1, num.length - 1) : num;
    
    return str.toString();
}
[출처] [javaScript] 날짜 관련된 함수 정리|작성자 마이레몬트리
 
 
cs


댓글