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