1 /*global $k*/ 2 3 /** 4 * Constructs a FlexDateTime from the argument(s), which can be a Date object, another FlexDateTime, undefined, or component values. 5 * If undefined, all components of the returned FlexDateTime are undefined 6 * 7 * @param [value] Date or FlexDateTime or year component 8 * @param [month] Month number 9 * @param [day] Day number 10 * @param [hours] Hours 11 * @param [minutes] Minutes 12 * @example // All components are undefined 13 * new $k.FlexDateTime(); 14 * // Current date 15 * new $k.FlexDateTime(new Date()); 16 * // 2007-06-03 21:48 17 * new $k.FlexDateTime(2007, 6, 3, 21, 48); 18 * 19 * 20 * @class Represents a flexible date/time without timezone that allowes certain degrees of imprecision. 21 * FlexDateTime has the following components, which can be set to an integer or undefined: 22 * year, month number, day number, hours, minutes. 23 * Note that a FlexDateTime has no seconds. 24 * 25 **/ 26 $k.FlexDateTime = function(varargs) { }; 27 28 /** 29 * Returns true if the date is within the range of this flexible date 30 * 31 * @function 32 * @param {date} date 33 * @returns {boolean} 34 **/ 35 $k.FlexDateTime.prototype.coversDate = function(date) { }; 36 37 /** 38 * Returns true if the values are equal 39 * 40 * @function 41 * @returns {boolean} 42 **/ 43 $k.FlexDateTime.prototype.equals = function(value) { }; 44 45 /** 46 * Returns the number of the day, e.g. 18 for 2011-03-18 47 * 48 * @function 49 * @returns {number} 50 **/ 51 $k.FlexDateTime.prototype.getDayNumber = function() { }; 52 53 /** 54 * Returns the hours 55 * 56 * @function 57 * @returns {number} 58 **/ 59 $k.FlexDateTime.prototype.getHours = function() { }; 60 61 /** 62 * Returns the minutes 63 * 64 * @function 65 * @returns {number} 66 **/ 67 $k.FlexDateTime.prototype.getMinutes = function() { }; 68 69 /** 70 * Returns the number of the month. 71 * Unlike Date.prototype.month(), this is not the 0-based month index, 72 * so for January getMonthNumber() returns 1, not 0 73 * 74 * @function 75 * @returns {number} 76 **/ 77 $k.FlexDateTime.prototype.getMonthNumber = function() { }; 78 79 /** 80 * Returns the full year 81 * 82 * @function 83 * @returns {number} 84 **/ 85 $k.FlexDateTime.prototype.getYear = function() { }; 86 87 /** 88 * Returns the latest exact Javascript date that is within the range of this date/time, e.g. 2007-03-01T23:59:59.999 for the date 2007-03-01. 89 * Assumes that this is date/time of the local timezone 90 * 91 * @function 92 * @returns {$k.Date} 93 **/ 94 $k.FlexDateTime.prototype.maxDate = function() { }; 95 96 /** 97 * Returns the latest exact Javascript date that is within the range of this date/time, e.g. 2007-03-01T23:59:59.999 for the date 2007-03-01. 98 * Assumes that this is date/time of the local timezone 99 * 100 * @function 101 * @returns {$k.Date} 102 **/ 103 $k.FlexDateTime.prototype.maxUTCDate = function() { }; 104 105 /** 106 * Returns the earliest exact Javascript date that is within the range of this date/time, e.g. 2007-03-01T0:00:00.0 for the date 2007-03-01. 107 * Assumes that this is date/time of the local timezone 108 * 109 * @function 110 * @returns {$k.Date} 111 **/ 112 $k.FlexDateTime.prototype.minDate = function() { }; 113 114 /** 115 * Returns the earliest exact Javascript date that is within the range of this date/time, e.g. 2007-03-01T0:00:00.0 for the date 2007-03-01. 116 * Assumes that this is an UTC date/time 117 * 118 * @function 119 * @returns {$k.Date} 120 **/ 121 $k.FlexDateTime.prototype.minUTCDate = function() { }; 122 123 /** 124 * Sets the number of the day, e.g. 23 for 2012-05-23 125 * 126 * @function 127 * @param {number} day 128 **/ 129 $k.FlexDateTime.prototype.setDayNumber = function(day) { }; 130 131 /** 132 * Sets the hours 133 * 134 * @function 135 * @param {number} hours 136 **/ 137 $k.FlexDateTime.prototype.setHours = function(hours) { }; 138 139 /** 140 * Sets the minutes. 141 * 142 * @function 143 * @param {number} minutes 144 **/ 145 $k.FlexDateTime.prototype.setMinutes = function(minutes) { }; 146 147 /** 148 * Set the number of the month. 149 * Unlike Date.prototype.month(), this is not the 0-based month index, 150 * so for January pass 1 to setMonthNumber() , not 0. 151 * 152 * @function 153 * @param {number} month 154 **/ 155 $k.FlexDateTime.prototype.setMonthNumber = function(month) { }; 156 157 /** 158 * Sets all components of the FlexDateTime 159 * 160 * @function 161 * @param {number} year 162 * @param {number} month 163 * @param {number} day 164 * @param {number} hours 165 * @param {number} minutes 166 **/ 167 $k.FlexDateTime.prototype.setValues = function(year, month, day, hours, minutes) { }; 168 169 /** 170 * Sets the full year. The year is not modified, so setYear(99) sets the year 99, not 1999. 171 * 172 * @function 173 * @param {number} year 174 **/ 175 $k.FlexDateTime.prototype.setYear = function(year) { }; 176 177 /** 178 * Returns the date/time as a Javascript date object. 179 * Assumes that this is date/time of the local timezone 180 * 181 * @function 182 **/ 183 $k.FlexDateTime.prototype.toDate = function() { }; 184 185 /** 186 * Returns a string representing the date/time, similar to Date.prototype.toJSON ( key ) 187 * 188 * @function 189 * @see $k.Date#toJSON 190 **/ 191 $k.FlexDateTime.prototype.toJSON = function(key) { }; 192 193 /** 194 * Returns the string representation. Equivalent to valueString() 195 * 196 * @function 197 * @param {string} [language] Language of the value. If not defined, the current language will be used. 198 * Ignored if the attribute is not translated 199 * @returns {string} 200 * @throws {$k.exception.InvalidLanguage} If an invalid language was specified 201 **/ 202 $k.FlexDateTime.prototype.toString = function(language) { }; 203 204 /** 205 * Returns the date/time as a Javascript date object. 206 * Assumes that this is an UTC date/time 207 * 208 * @function 209 **/ 210 $k.FlexDateTime.prototype.toUTCDate = function() { }; 211 212 /** 213 * Returns the string representation 214 * 215 * @function 216 * @param {string} [language] Language of the value. If not defined, the current language will be used. 217 * Ignored if the attribute is not translated 218 * @returns {string} 219 * @throws {$k.exception.InvalidLanguage} If an invalid language was specified 220 **/ 221 $k.FlexDateTime.prototype.valueString = function(language) { }; 222 223 /** 224 * Parse the date/time string. Both ISO 8601 adnd localized strings are supported. 225 * 226 * @function 227 * @param {string} string The string representation 228 * @param {string} [language] Language of the value. If not defined, the current language will be used. 229 * Ignored if the attribute is not translated 230 * @returns The parsed date/time 231 * @throws {$k.exception.InvalidLanguage} If an invalid language was specified 232 **/ 233 $k.FlexDateTime.parse = function(string, language) { }; 234 235