Changeset 7461
- Timestamp:
- 02/27/07 11:49:54 (21 months ago)
- Location:
- trunk/src/date
- Files:
-
- 2 modified
-
common.js (modified) (5 diffs)
-
supplemental.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/date/common.js
r7435 r7461 1 1 dojo.provide("dojo.date.common"); 2 3 4 /* Supplementary Date Functions5 *******************************/6 2 7 3 dojo.date.setDayOfYear = function(/*Date*/dateObject, /*Number*/dayOfYear){ … … 68 64 // summary: Return a date object representing the first day of the given 69 65 // date's week. 70 var date = new Date(dateObject.getFullYear(), dateObject.getMonth(),71 dateObject.getDate());72 66 if(isNaN(firstDay)){ 73 67 firstDay = dojo.date.getFirstDayOfWeek ? dojo.date.getFirstDayOfWeek() : 0; … … 79 73 offset -= (7 - dateObject.getDay()); 80 74 } 75 var date = new Date(dateObject); 76 date.setHours(0, 0, 0, 0); 81 77 return dojo.date.add(date, dojo.date.dateParts.DAY, offset); // Date 82 78 } … … 129 125 var month = dateObject.getMonth(); 130 126 var days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; 131 if (month == 1 && dojo.date.isLeapYear(dateObject)) { return 29; } // Number132 else { return days[month]; }// Number127 if (month == 1 && dojo.date.isLeapYear(dateObject)){ return 29; } // Number 128 return days[month]; // Number 133 129 } 134 130 … … 144 140 145 141 var year = dateObject.getFullYear(); 146 return (year%400 == 0) ? true : (year%100 == 0) ? false : (year%4 == 0) ? true : false; // Boolean142 return !(year%400) || (!(year%4) && !!(year%100)); // Boolean 147 143 } 148 144 -
trunk/src/date/supplemental.js
r5965 r7461 19 19 }; 20 20 21 locale = dojo.hostenv.normalizeLocale(locale); 22 var country = locale.split("-")[1]; 21 var country = dojo.date._region(locale); 23 22 var dow = firstDay[country]; 24 23 return (typeof dow == 'undefined') ? 1 : dow; /*Number*/ 25 24 }; 25 26 dojo.date._region = function(/*String?*/locale){ 27 locale = dojo.hostenv.normalizeLocale(locale); 28 var tags = locale.split('-'); 29 var region = tags[1]; 30 if(!region){ 31 // IE often gives language only (#2269) 32 // Arbitrary mappings of language-only locales to a country: 33 region = {de:"de", en:"us", es:"es", fi:"fi", fr:"fr", hu:"hu", it:"it", 34 ja:"jp", ko:"kr", nl:"nl", pt:"br", sv:"se", zh:"cn"}[tags[0]]; 35 }else if(region.length == 4){ 36 // The ISO 3166 country code is usually in the second position, unless a 37 // 4-letter script is given. See http://www.ietf.org/rfc/rfc4646.txt 38 region = tags[2]; 39 } 40 return region; 41 } 26 42 27 43 dojo.date.getWeekend = function(/*String?*/locale){ … … 44 60 }; 45 61 46 locale = dojo.hostenv.normalizeLocale(locale); 47 var country = locale.split("-")[1]; 62 var country = dojo.date._region(locale); 48 63 var start = weekendStart[country]; 49 64 var end = weekendEnd[country];