Index: src/date-delay.js |
=================================================================== |
--- src/date-delay.js (revision 413) |
+++ src/date-delay.js (working copy) |
@@ -40,19 +40,19 @@ |
// ECMA 262 - 15.9.1.2 |
function Day(time) { |
return $floor(time/msPerDay); |
-}; |
+} |
// ECMA 262 - 5.2 |
function Modulo(value, remainder) { |
var mod = value % remainder; |
return mod >= 0 ? mod : mod + remainder; |
-}; |
+} |
function TimeWithinDay(time) { |
return Modulo(time, msPerDay); |
-}; |
+} |
// ECMA 262 - 15.9.1.3 |
@@ -60,7 +60,7 @@ |
if (year % 4 != 0) return 365; |
if ((year % 100 == 0) && (year % 400 != 0)) return 365; |
return 366; |
-}; |
+} |
function DayFromYear(year) { |
@@ -68,39 +68,39 @@ |
+ $floor((year-1969)/4) |
- $floor((year-1901)/100) |
+ $floor((year-1601)/400); |
-}; |
+} |
function TimeFromYear(year) { |
return msPerDay * DayFromYear(year); |
-}; |
+} |
function YearFromTime(time) { |
return FromJulianDay(Day(time) + kDayZeroInJulianDay).year; |
-}; |
+} |
function InLeapYear(time) { |
return DaysInYear(YearFromTime(time)) == 366 ? 1 : 0; |
-}; |
+} |
// ECMA 262 - 15.9.1.4 |
function MonthFromTime(time) { |
return FromJulianDay(Day(time) + kDayZeroInJulianDay).month; |
-}; |
+} |
function DayWithinYear(time) { |
return Day(time) - DayFromYear(YearFromTime(time)); |
-}; |
+} |
// ECMA 262 - 15.9.1.5 |
function DateFromTime(time) { |
return FromJulianDay(Day(time) + kDayZeroInJulianDay).date; |
-}; |
+} |
// ECMA 262 - 15.9.1.9 |
@@ -110,7 +110,7 @@ |
// - week day of first day. |
var time = TimeFromYear(year); |
return (InLeapYear(time) == 0 ? 1967 : 1956) + (WeekDay(time) * 12) % 28; |
-}; |
+} |
function EquivalentTime(t) { |
@@ -125,7 +125,7 @@ |
if (t >= -2.1e12 && t <= 2.1e12) return t; |
var day = MakeDay(EquivalentYear(YearFromTime(t)), MonthFromTime(t), DateFromTime(t)); |
return TimeClip(MakeDate(day, TimeWithinDay(t))); |
-}; |
+} |
var local_time_offset; |
@@ -135,7 +135,7 @@ |
local_time_offset = %DateLocalTimeOffset(); |
} |
return local_time_offset; |
-}; |
+} |
var daylight_cache_time = $NaN; |
@@ -149,7 +149,7 @@ |
daylight_cache_time = t; |
daylight_cache_offset = offset; |
return offset; |
-}; |
+} |
var timezone_cache_time = $NaN; |
@@ -163,46 +163,46 @@ |
timezone_cache_time = t; |
timezone_cache_timezone = timezone; |
return timezone; |
-}; |
+} |
function WeekDay(time) { |
return Modulo(Day(time) + 4, 7); |
-}; |
+} |
function LocalTime(time) { |
if ($isNaN(time)) return time; |
return time + LocalTimeOffset() + DaylightSavingsOffset(time); |
-}; |
+} |
function UTC(time) { |
if ($isNaN(time)) return time; |
var tmp = time - LocalTimeOffset(); |
return tmp - DaylightSavingsOffset(tmp); |
-}; |
+} |
// ECMA 262 - 15.9.1.10 |
function HourFromTime(time) { |
return Modulo($floor(time / msPerHour), HoursPerDay); |
-}; |
+} |
function MinFromTime(time) { |
return Modulo($floor(time / msPerMinute), MinutesPerHour); |
-}; |
+} |
function SecFromTime(time) { |
return Modulo($floor(time / msPerSecond), SecondsPerMinute); |
-}; |
+} |
function msFromTime(time) { |
return Modulo(time, msPerSecond); |
-}; |
+} |
// ECMA 262 - 15.9.1.11 |
@@ -215,13 +215,13 @@ |
+ TO_INTEGER(min) * msPerMinute |
+ TO_INTEGER(sec) * msPerSecond |
+ TO_INTEGER(ms); |
-}; |
+} |
// ECMA 262 - 15.9.1.12 |
function TimeInYear(year) { |
return DaysInYear(year) * msPerDay; |
-}; |
+} |
// Compute modified Julian day from year, month, date. |
@@ -231,7 +231,7 @@ |
var jm = (month > 1) ? month + 2 : month + 14; |
var ja = $floor(0.01*jy); |
return $floor($floor(365.25*jy) + $floor(30.6001*jm) + date + 1720995) + 2 - ja + $floor(0.25*ja); |
-}; |
+} |
var four_year_cycle_table; |
@@ -264,7 +264,7 @@ |
} |
} |
return four_year_cycle_table; |
-}; |
+} |
@@ -276,6 +276,7 @@ |
this.date = date; |
} |
+ |
// Compute year, month, and day from modified Julian day. |
// The missing days in 1582 are ignored for JavaScript compatibility. |
function FromJulianDay(julian) { |
@@ -308,7 +309,7 @@ |
if (m > 2) { --y; --m; } |
var d = jb - jd - $floor(30.6001 * je); |
return new DayTriplet(y, m, d); |
-}; |
+} |
// Compute number of days given a year, month, date. |
// Note that month and date can lie outside the normal range. |
@@ -333,7 +334,7 @@ |
// Return days relative to Jan 1 1970. |
return ToJulianDay(year, month, date) - kDayZeroInJulianDay; |
-}; |
+} |
// ECMA 262 - 15.9.1.13 |
@@ -341,7 +342,7 @@ |
if (!$isFinite(day)) return $NaN; |
if (!$isFinite(time)) return $NaN; |
return day * msPerDay + time; |
-}; |
+} |
// ECMA 262 - 15.9.1.14 |
@@ -349,7 +350,7 @@ |
if (!$isFinite(time)) return $NaN; |
if ($abs(time) > 8.64E15) return $NaN; |
return TO_INTEGER(time); |
-}; |
+} |
%SetCode($Date, function(year, month, date, hours, minutes, seconds, ms) { |
@@ -399,105 +400,105 @@ |
function GetTimeFrom(aDate) { |
if (IS_DATE(aDate)) return %_ValueOf(aDate); |
throw new $TypeError('this is not a Date object.'); |
-}; |
+} |
function GetMillisecondsFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return msFromTime(LocalTime(t)); |
-}; |
+} |
function GetUTCMillisecondsFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return msFromTime(t); |
-}; |
+} |
function GetSecondsFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return SecFromTime(LocalTime(t)); |
-}; |
+} |
function GetUTCSecondsFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return SecFromTime(t); |
-}; |
+} |
function GetMinutesFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return MinFromTime(LocalTime(t)); |
-}; |
+} |
function GetUTCMinutesFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return MinFromTime(t); |
-}; |
+} |
function GetHoursFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return HourFromTime(LocalTime(t)); |
-}; |
+} |
function GetUTCHoursFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return HourFromTime(t); |
-}; |
+} |
function GetFullYearFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return YearFromTime(LocalTime(t)); |
-}; |
+} |
function GetUTCFullYearFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return YearFromTime(t); |
-}; |
+} |
function GetMonthFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return MonthFromTime(LocalTime(t)); |
-}; |
+} |
function GetUTCMonthFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return MonthFromTime(t); |
-}; |
+} |
function GetDateFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return DateFromTime(LocalTime(t)); |
-}; |
+} |
function GetUTCDateFrom(aDate) { |
var t = GetTimeFrom(aDate); |
if ($isNaN(t)) return t; |
return DateFromTime(t); |
-}; |
+} |
%FunctionSetPrototype($Date, new $Date($NaN)); |
@@ -509,7 +510,7 @@ |
function TwoDigitString(value) { |
return value < 10 ? "0" + value : "" + value; |
-}; |
+} |
function DateString(time) { |
@@ -518,14 +519,14 @@ |
+ Months[YMD.month] + ' ' |
+ TwoDigitString(YMD.date) + ' ' |
+ YMD.year; |
-}; |
+} |
function TimeString(time) { |
return TwoDigitString(HourFromTime(time)) + ':' |
+ TwoDigitString(MinFromTime(time)) + ':' |
+ TwoDigitString(SecFromTime(time)); |
-}; |
+} |
function LocalTimezoneString(time) { |
@@ -535,12 +536,12 @@ |
var min = $floor((sign * timezoneOffset)%60); |
var gmt = ' GMT' + ((sign == 1) ? '+' : '-') + TwoDigitString(hours) + TwoDigitString(min); |
return gmt + ' (' + LocalTimezone(time) + ')'; |
-}; |
+} |
function DatePrintString(time) { |
return DateString(time) + ' ' + TimeString(time); |
-}; |
+} |
// ------------------------------------------------------------------- |
@@ -553,13 +554,13 @@ |
var day = MakeDay(arr[0], arr[1], arr[2]); |
var time = MakeTime(arr[3], arr[4], arr[5], 0); |
var date = MakeDate(day, time); |
- |
+ |
if (IS_NULL(arr[6])) { |
return TimeClip(UTC(date)); |
} else { |
return TimeClip(date - arr[6] * 1000); |
} |
-}; |
+} |
// ECMA 262 - 15.9.4.3 |
@@ -577,14 +578,14 @@ |
var day = MakeDay(year, month, date); |
var time = MakeTime(hours, minutes, seconds, ms); |
return %_SetValueOf(this, TimeClip(MakeDate(day, time))); |
-}; |
+} |
// Mozilla-specific extension. Returns the number of milliseconds |
// elapsed since 1 January 1970 00:00:00 UTC. |
function DateNow() { |
return %DateCurrentTime(); |
-}; |
+} |
// ECMA 262 - 15.9.5.2 |
@@ -592,7 +593,7 @@ |
var t = GetTimeFrom(this); |
if ($isNaN(t)) return kInvalidDate; |
return DatePrintString(LocalTime(t)) + LocalTimezoneString(t); |
-}; |
+} |
// ECMA 262 - 15.9.5.3 |
@@ -600,7 +601,7 @@ |
var t = GetTimeFrom(this); |
if ($isNaN(t)) return kInvalidDate; |
return DateString(LocalTime(t)); |
-}; |
+} |
// ECMA 262 - 15.9.5.4 |
@@ -609,18 +610,36 @@ |
if ($isNaN(t)) return kInvalidDate; |
var lt = LocalTime(t); |
return TimeString(lt) + LocalTimezoneString(lt); |
-}; |
+} |
+// ECMA 262 - 15.9.5.5 |
+function DateToLocaleString() { |
+ return DateToString.call(this); |
+} |
+ |
+ |
+// ECMA 262 - 15.9.5.6 |
+function DateToLocaleDateString() { |
+ return DateToDateString.call(this); |
+} |
+ |
+ |
// ECMA 262 - 15.9.5.7 |
function DateToLocaleTimeString() { |
var t = GetTimeFrom(this); |
if ($isNaN(t)) return kInvalidDate; |
var lt = LocalTime(t); |
return TimeString(lt); |
-}; |
+} |
+// ECMA 262 - 15.9.5.8 |
+function DateValueOf() { |
+ return GetTimeFrom(this); |
+} |
+ |
+ |
// ECMA 262 - 15.9.5.9 |
function DateGetTime() { |
return GetTimeFrom(this); |
@@ -630,37 +649,37 @@ |
// ECMA 262 - 15.9.5.10 |
function DateGetFullYear() { |
return GetFullYearFrom(this) |
-}; |
+} |
// ECMA 262 - 15.9.5.11 |
function DateGetUTCFullYear() { |
return GetUTCFullYearFrom(this) |
-}; |
+} |
// ECMA 262 - 15.9.5.12 |
function DateGetMonth() { |
return GetMonthFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.13 |
function DateGetUTCMonth() { |
return GetUTCMonthFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.14 |
function DateGetDate() { |
return GetDateFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.15 |
function DateGetUTCDate() { |
return GetUTCDateFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.16 |
@@ -668,7 +687,7 @@ |
var t = GetTimeFrom(this); |
if ($isNaN(t)) return t; |
return WeekDay(LocalTime(t)); |
-}; |
+} |
// ECMA 262 - 15.9.5.17 |
@@ -676,55 +695,55 @@ |
var t = GetTimeFrom(this); |
if ($isNaN(t)) return t; |
return WeekDay(t); |
-}; |
+} |
// ECMA 262 - 15.9.5.18 |
function DateGetHours() { |
return GetHoursFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.19 |
function DateGetUTCHours() { |
return GetUTCHoursFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.20 |
function DateGetMinutes() { |
return GetMinutesFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.21 |
function DateGetUTCMinutes() { |
return GetUTCMinutesFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.22 |
function DateGetSeconds() { |
return GetSecondsFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.23 |
function DateGetUTCSeconds() { |
return GetUTCSecondsFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.24 |
function DateGetMilliseconds() { |
return GetMillisecondsFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.25 |
function DateGetUTCMilliseconds() { |
return GetUTCMillisecondsFrom(this); |
-}; |
+} |
// ECMA 262 - 15.9.5.26 |
@@ -732,14 +751,14 @@ |
var t = GetTimeFrom(this); |
if ($isNaN(t)) return t; |
return (t - LocalTime(t)) / msPerMinute; |
-}; |
+} |
// ECMA 262 - 15.9.5.27 |
function DateSetTime(ms) { |
if (!IS_DATE(this)) throw new $TypeError('this is not a Date object.'); |
return %_SetValueOf(this, TimeClip(ToNumber(ms))); |
-}; |
+} |
// ECMA 262 - 15.9.5.28 |
@@ -748,7 +767,7 @@ |
ms = ToNumber(ms); |
var time = MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), ms); |
return %_SetValueOf(this, TimeClip(UTC(MakeDate(Day(t), time)))); |
-}; |
+} |
// ECMA 262 - 15.9.5.29 |
@@ -757,7 +776,7 @@ |
ms = ToNumber(ms); |
var time = MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), ms); |
return %_SetValueOf(this, TimeClip(MakeDate(Day(t), time))); |
-}; |
+} |
// ECMA 262 - 15.9.5.30 |
@@ -767,7 +786,7 @@ |
ms = %_ArgumentsLength() < 2 ? GetMillisecondsFrom(this) : ToNumber(ms); |
var time = MakeTime(HourFromTime(t), MinFromTime(t), sec, ms); |
return %_SetValueOf(this, TimeClip(UTC(MakeDate(Day(t), time)))); |
-}; |
+} |
// ECMA 262 - 15.9.5.31 |
@@ -777,7 +796,7 @@ |
ms = %_ArgumentsLength() < 2 ? GetUTCMillisecondsFrom(this) : ToNumber(ms); |
var time = MakeTime(HourFromTime(t), MinFromTime(t), sec, ms); |
return %_SetValueOf(this, TimeClip(MakeDate(Day(t), time))); |
-}; |
+} |
// ECMA 262 - 15.9.5.33 |
@@ -789,7 +808,7 @@ |
ms = argc < 3 ? GetMillisecondsFrom(this) : ToNumber(ms); |
var time = MakeTime(HourFromTime(t), min, sec, ms); |
return %_SetValueOf(this, TimeClip(UTC(MakeDate(Day(t), time)))); |
-}; |
+} |
// ECMA 262 - 15.9.5.34 |
@@ -801,7 +820,7 @@ |
ms = argc < 3 ? GetUTCMillisecondsFrom(this) : ToNumber(ms); |
var time = MakeTime(HourFromTime(t), min, sec, ms); |
return %_SetValueOf(this, TimeClip(MakeDate(Day(t), time))); |
-}; |
+} |
// ECMA 262 - 15.9.5.35 |
@@ -814,7 +833,7 @@ |
ms = argc < 4 ? GetMillisecondsFrom(this) : ToNumber(ms); |
var time = MakeTime(hour, min, sec, ms); |
return %_SetValueOf(this, TimeClip(UTC(MakeDate(Day(t), time)))); |
-}; |
+} |
// ECMA 262 - 15.9.5.34 |
@@ -827,7 +846,7 @@ |
ms = argc < 4 ? GetUTCMillisecondsFrom(this) : ToNumber(ms); |
var time = MakeTime(hour, min, sec, ms); |
return %_SetValueOf(this, TimeClip(MakeDate(Day(t), time))); |
-}; |
+} |
// ECMA 262 - 15.9.5.36 |
@@ -836,7 +855,7 @@ |
date = ToNumber(date); |
var day = MakeDay(YearFromTime(t), MonthFromTime(t), date); |
return %_SetValueOf(this, TimeClip(UTC(MakeDate(day, TimeWithinDay(t))))); |
-}; |
+} |
// ECMA 262 - 15.9.5.37 |
@@ -845,7 +864,7 @@ |
date = ToNumber(date); |
var day = MakeDay(YearFromTime(t), MonthFromTime(t), date); |
return %_SetValueOf(this, TimeClip(MakeDate(day, TimeWithinDay(t)))); |
-}; |
+} |
// ECMA 262 - 15.9.5.38 |
@@ -855,7 +874,7 @@ |
date = %_ArgumentsLength() < 2 ? GetDateFrom(this) : ToNumber(date); |
var day = MakeDay(YearFromTime(t), month, date); |
return %_SetValueOf(this, TimeClip(UTC(MakeDate(day, TimeWithinDay(t))))); |
-}; |
+} |
// ECMA 262 - 15.9.5.39 |
@@ -865,7 +884,7 @@ |
date = %_ArgumentsLength() < 2 ? GetUTCDateFrom(this) : ToNumber(date); |
var day = MakeDay(YearFromTime(t), month, date); |
return %_SetValueOf(this, TimeClip(MakeDate(day, TimeWithinDay(t)))); |
-}; |
+} |
// ECMA 262 - 15.9.5.40 |
@@ -878,7 +897,7 @@ |
date = argc < 3 ? DateFromTime(t) : ToNumber(date); |
var day = MakeDay(year, month, date); |
return %_SetValueOf(this, TimeClip(UTC(MakeDate(day, TimeWithinDay(t))))); |
-}; |
+} |
// ECMA 262 - 15.9.5.41 |
@@ -891,7 +910,7 @@ |
date = argc < 3 ? DateFromTime(t) : ToNumber(date); |
var day = MakeDay(year, month, date); |
return %_SetValueOf(this, TimeClip(MakeDate(day, TimeWithinDay(t)))); |
-}; |
+} |
// ECMA 262 - 15.9.5.42 |
@@ -904,7 +923,7 @@ |
+ Months[MonthFromTime(t)] + ' ' |
+ YearFromTime(t) + ' ' |
+ TimeString(t) + ' GMT'; |
-}; |
+} |
// ECMA 262 - B.2.4 |
@@ -912,7 +931,7 @@ |
var t = GetTimeFrom(this); |
if ($isNaN(t)) return $NaN; |
return YearFromTime(LocalTime(t)) - 1900; |
-}; |
+} |
// ECMA 262 - B.2.5 |
@@ -925,67 +944,82 @@ |
? 1900 + TO_INTEGER(year) : year; |
var day = MakeDay(year, GetMonthFrom(this), GetDateFrom(this)); |
return %_SetValueOf(this, TimeClip(UTC(MakeDate(day, TimeWithinDay(t))))); |
-}; |
+} |
+// ECMA 262 - B.2.6 |
+// |
+// Notice that this does not follow ECMA 262 completely. ECMA 262 |
+// says that toGMTString should be the same Function object as |
+// toUTCString. JSC does not do this, so for compatibility we do not |
+// do that either. Instead, we create a new function whose name |
+// property will return toGMTString. |
+function DateToGMTString() { |
+ return DateToUTCString.call(this); |
+} |
+ |
+ |
// ------------------------------------------------------------------- |
function SetupDate() { |
// Setup non-enumerable properties of the Date object itself. |
- InstallProperties($Date, DONT_ENUM, { |
- UTC: DateUTC, |
- parse: DateParse, |
- now: DateNow |
- }); |
+ InstallFunctions($Date, DONT_ENUM, $Array( |
+ "UTC", DateUTC, |
+ "parse", DateParse, |
+ "now", DateNow |
+ )); |
- // Setup non-enumerable properties of the Date prototype object. |
- InstallProperties($Date.prototype, DONT_ENUM, { |
- constructor: $Date, |
- toString: DateToString, |
- toDateString: DateToDateString, |
- toTimeString: DateToTimeString, |
- toLocaleString: DateToString, |
- toLocaleDateString: DateToDateString, |
- toLocaleTimeString: DateToLocaleTimeString, |
- valueOf: DateGetTime, |
- getTime: DateGetTime, |
- getFullYear: DateGetFullYear, |
- getUTCFullYear: DateGetUTCFullYear, |
- getMonth: DateGetMonth, |
- getUTCMonth: DateGetUTCMonth, |
- getDate: DateGetDate, |
- getUTCDate: DateGetUTCDate, |
- getDay: DateGetDay, |
- getUTCDay: DateGetUTCDay, |
- getHours: DateGetHours, |
- getUTCHours: DateGetUTCHours, |
- getMinutes: DateGetMinutes, |
- getUTCMinutes: DateGetUTCMinutes, |
- getSeconds: DateGetSeconds, |
- getUTCSeconds: DateGetUTCSeconds, |
- getMilliseconds: DateGetMilliseconds, |
- getUTCMilliseconds: DateGetUTCMilliseconds, |
- getTimezoneOffset: DateGetTimezoneOffset, |
- setTime: DateSetTime, |
- setMilliseconds: DateSetMilliseconds, |
- setUTCMilliseconds: DateSetUTCMilliseconds, |
- setSeconds: DateSetSeconds, |
- setUTCSeconds: DateSetUTCSeconds, |
- setMinutes: DateSetMinutes, |
- setUTCMinutes: DateSetUTCMinutes, |
- setHours: DateSetHours, |
- setUTCHours: DateSetUTCHours, |
- setDate: DateSetDate, |
- setUTCDate: DateSetUTCDate, |
- setMonth: DateSetMonth, |
- setUTCMonth: DateSetUTCMonth, |
- setFullYear: DateSetFullYear, |
- setUTCFullYear: DateSetUTCFullYear, |
- toUTCString: DateToUTCString, |
- toGMTString: DateToUTCString, |
- getYear: DateGetYear, |
- setYear: DateSetYear |
- }); |
-}; |
+ // Setup non-enumerable constructor property of the Date prototype object. |
+ %AddProperty($Date.prototype, "constructor", $Date, DONT_ENUM); |
+ // Setup non-enumerable functions of the Date prototype object and |
+ // set their names. |
+ InstallFunctions($Date.prototype, DONT_ENUM, $Array( |
+ "toString", DateToString, |
+ "toDateString", DateToDateString, |
+ "toTimeString", DateToTimeString, |
+ "toLocaleString", DateToLocaleString, |
+ "toLocaleDateString", DateToLocaleDateString, |
+ "toLocaleTimeString", DateToLocaleTimeString, |
+ "valueOf", DateValueOf, |
+ "getTime", DateGetTime, |
+ "getFullYear", DateGetFullYear, |
+ "getUTCFullYear", DateGetUTCFullYear, |
+ "getMonth", DateGetMonth, |
+ "getUTCMonth", DateGetUTCMonth, |
+ "getDate", DateGetDate, |
+ "getUTCDate", DateGetUTCDate, |
+ "getDay", DateGetDay, |
+ "getUTCDay", DateGetUTCDay, |
+ "getHours", DateGetHours, |
+ "getUTCHours", DateGetUTCHours, |
+ "getMinutes", DateGetMinutes, |
+ "getUTCMinutes", DateGetUTCMinutes, |
+ "getSeconds", DateGetSeconds, |
+ "getUTCSeconds", DateGetUTCSeconds, |
+ "getMilliseconds", DateGetMilliseconds, |
+ "getUTCMilliseconds", DateGetUTCMilliseconds, |
+ "getTimezoneOffset", DateGetTimezoneOffset, |
+ "setTime", DateSetTime, |
+ "setMilliseconds", DateSetMilliseconds, |
+ "setUTCMilliseconds", DateSetUTCMilliseconds, |
+ "setSeconds", DateSetSeconds, |
+ "setUTCSeconds", DateSetUTCSeconds, |
+ "setMinutes", DateSetMinutes, |
+ "setUTCMinutes", DateSetUTCMinutes, |
+ "setHours", DateSetHours, |
+ "setUTCHours", DateSetUTCHours, |
+ "setDate", DateSetDate, |
+ "setUTCDate", DateSetUTCDate, |
+ "setMonth", DateSetMonth, |
+ "setUTCMonth", DateSetUTCMonth, |
+ "setFullYear", DateSetFullYear, |
+ "setUTCFullYear", DateSetUTCFullYear, |
+ "toGMTString", DateToGMTString, |
+ "toUTCString", DateToUTCString, |
+ "getYear", DateGetYear, |
+ "setYear", DateSetYear |
+ )); |
+} |
+ |
SetupDate(); |