1/****************************************************************************** 2Date Object È®Àå 3******************************************************************************/ 4 5Date.prototype.tempDate = null; 6 7// ³¯Â¥[ÀÏ] ´õÇϱâ 8Date.prototype.addDays = function (n) { 9 this.setDate(this.getDate() + n); 10 this.tempDate = this.getDate(); 11}; 12 13// ³¯Â¥[¿ù] ´õÇϱâ 14Date.prototype.addMonths = function (n) { 15 if (this.tempDate == null) { 16 this.tempDate = this.getDate(); 17 } 18 this.setDate(1); 19 this.setMonth(this.getMonth() + n); 20 this.setDate(Math.min(this.tempDate, this.getMaxDays())); 21}; 22 23// ³¯Â¥[¿¬] ´õÇϱâ 24Date.prototype.addYears = function (n) { 25 if (this.tempDate == null) { 26 this.tempDate = this.getDate(); 27 } 28 this.setDate(1); 29 this.setFullYear(this.getFullYear() + n); 30 this.setDate(Math.min(this.tempDate, this.getMaxDays())); 31}; 32 33// ¿ùÀÇ ¸¶Áö¸· ³¯Â¥ ±¸Çϱâ 34Date.prototype.getMaxDays = function() { 35 var tmpDate = new Date(Date.parse(this)), 36 d = 28, m; 37 m = tmpDate.getMonth(); 38 d = 28; 39 while (tmpDate.getMonth() == m) { 40 d ++; 41 tmpDate.setDate(d); 42 } 43 return d - 1; 44}; 45 46// ¿ùÀÇ 1ÀÏ ¿äÀÏ ±¸Çϱâ 47Date.prototype.getFirstDay = function() { 48 var tmpDate = new Date(Date.parse(this)); 49 tmpDate.setDate(1); 50 return tmpDate.getDay(); 51}; 52 53// ÁÖÀÇ Ã¹¹øÂ° ³¯Â¥ ±¸Çϱâ (ÁÖ´Â ÀÏ¿äÀϺÎÅÍ ½ÃÀÛ) 54Date.prototype.getFirstDateOfWeek = function() { 55 var tmpDate = new Date(Date.parse(this)); 56 tmpDate.addDays(tmpDate.getDay() * -1); 57 return tmpDate; 58}; 59 60// ÇØ´ç ¿¬µµ¿¡¼ ¸î¹øÂ° ÁÖÀÎÁö 61Date.prototype.getWeekNumber = function() { 62 var tempDate = new Date(this); 63 tempDate.setHours(0,0,0,0); 64 tempDate = tempDate.getFirstDateOfWeek(); 65 var firstDate = new Date(tempDate.getFullYear(), 0, 1, 0, 0, 0, 0); 66 firstDate = firstDate.getFirstDateOfWeek(); 67 if(firstDate.getFullYear() != tempDate.getFullYear()) 68 firstDate.addDays(7); 69 return Math.floor((tempDate.valueOf() - firstDate.valueOf()) / (604800000)) + 1; 70}; 71 72// ÇØ´ç ¿ù¿¡¼ ¸î¹øÂ° ÁÖÀÎÁö 73Date.prototype.getWeekNumberOfMonth = function() { 74 var tempDate = new Date(this); 75 tempDate = tempDate.getFirstDateOfWeek(); 76 var weekNum = 0; 77 var currentMonth = tempDate.getMonth(); 78 while( tempDate.getMonth() == currentMonth ) 79 { 80 weekNum++; 81 tempDate.addDays(-7); 82 } 83 return weekNum; 84}; 85 86// ÇØ´ç ¿¬µµ¿¡¼ ¸î¹øÂ° ÀÏÀÎÁö 87Date.prototype.getDayOfYear = function() { 88 var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); 89 var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0); 90 var time = now - then; 91 return Math.floor(time / 24*60*60*1000); 92}; 93 94/****************************************************************************** 95Date °ü·Ã ÇÔ¼ö 96******************************************************************************/ 97 98// Date Object ¸¸µé±â 99function parseDate(date, format) 100{ 101 date = (typeof(date) == 'undefined') ? new Date() : date; 102 format = (typeof(format) == 'undefined') ? 'Y-m-d' : format; 103 104 if (date.constructor == Date) { 105 return new Date(date); 106 } 107 var parts = date.split(/\W+/); 108 var against = format.split(/\W+/), d, m, y, h, min, now = new Date(); 109 for (var i = 0; i < parts.length; i++) { 110 switch (against[i]) { 111 case 'd': 112 case 'e': 113 d = parseInt(parts[i],10); 114 break; 115 case 'm': 116 m = parseInt(parts[i], 10)-1; 117 break; 118 case 'Y': 119 case 'y': 120 y = parseInt(parts[i], 10); 121 y += y > 100 ? 0 : (y < 29 ? 2000 : 1900); 122 break; 123 case 'H': 124 case 'I': 125 case 'k': 126 case 'l': 127 h = parseInt(parts[i], 10); 128 break; 129 case 'P': 130 case 'p': 131 if (/pm/i.test(parts[i]) && h < 12) { 132 h += 12; 133 } else if (/am/i.test(parts[i]) && h >= 12) { 134 h -= 12; 135 } 136 break; 137 case 'M': 138 min = parseInt(parts[i], 10); 139 break; 140 } 141 } 142 return new Date( 143 y === undefined ? now.getFullYear() : y, 144 m === undefined ? now.getMonth() : m, 145 //d === undefined ? now.getDate() : d, 146 d === undefined ? 1 : d, 147 h === undefined ? now.getHours() : h, 148 min === undefined ? now.getMinutes() : min, 149 0 150 ); 151} 152 153// Date Ãâ·Â Çü½Ä 154function formatDate(date, format) 155{ 156 date = (typeof(date) == 'undefined') ? new Date() : date; 157 158 if (date.constructor == String) { 159 date = parseDate(date); 160 } 161 162 var m = date.getMonth(); 163 var d = date.getDate(); 164 var y = date.getFullYear(); 165 var wn = date.getWeekNumber(); 166 var wm = date.getWeekNumberOfMonth(); 167 var w = date.getDay(); 168 var s = {}; 169 var hr = date.getHours(); 170 var pm = (hr >= 12); 171 var ir = (pm) ? (hr - 12) : hr; 172 var dy = date.getDayOfYear(); 173 if (ir == 0) { 174 ir = 12; 175 } 176 var min = date.getMinutes(); 177 var sec = date.getSeconds(); 178 var parts = format.split(''), part; 179 for ( var i = 0; i < parts.length; i++ ) { 180 part = parts[i];
181 switch (parts[i]) { 182 case 'a': 183 part = date.getDayName(); 184 break; 185 case 'A': 186 part = date.getDayName(true); 187 break; 188 case 'b': 189 part = date.getMonthName(); 190 break; 191 case 'B': 192 part = date.getMonthName(true); 193 break; 194 case 'C': 195 part = 1 + Math.floor(y / 100); 196 break; 197 case 'd': 198 part = (d < 10) ? ("0" + d) : d; 199 break; 200 case 'e': 201 part = d; 202 break; 203 case 'H': 204 part = (hr < 10) ? ("0" + hr) : hr; 205 break; 206 case 'I': 207 part = (ir < 10) ? ("0" + ir) : ir; 208 break; 209 case 'j': 210 part = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; 211 break; 212 case 'k': 213 part = hr; 214 break; 215 case 'l': 216 part = ir; 217 break; 218 case 'm': 219 part = (m < 9) ? ("0" + (1+m)) : (1+m); 220 break; 221 case 'M': 222 part = (min < 10) ? ("0" + min) : min; 223 break; 224 case 'p': 225 case 'P': 226 part = pm ? "PM" : "AM"; 227 break; 228 case 's': 229 part = Math.floor(date.getTime() / 1000); 230 break; 231 case 'S': 232 part = (sec < 10) ? ("0" + sec) : sec; 233 break; 234 case 'u': 235 part = w + 1; 236 break; 237 case 'w': 238 part = wn; 239 break; 240 case 'W': 241 part = wm; 242 break; 243 case 'y': 244 part = ('' + y).substr(2, 2); 245 break; 246 case 'Y': 247 part = y; 248 break; 249 } 250 parts[i] = part; 251 } 252 return parts.join(''); 253}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.