From 24cb757ae319b45c3b4b44adcbacc77ccfa366f6 Mon Sep 17 00:00:00 2001 From: "feng@chromium.org" Date: Wed, 29 Oct 2008 23:30:25 +0000 Subject: [PATCH] Fix Chromium issue 3607. Make Date::toLocaleDateString output be the same format as Safari. Someone famililar with Date builtin object should check other functions. Review URL: http://codereview.chromium.org/8875 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/date-delay.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/date-delay.js b/src/date-delay.js index da7aebd5e..3531266f4 100644 --- a/src/date-delay.js +++ b/src/date-delay.js @@ -517,6 +517,19 @@ function DateString(time) { } +var LongWeekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; +var LongMonths = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + + +function LongDateString(time) { + var YMD = FromJulianDay(Day(time) + kDayZeroInJulianDay); + return LongWeekDays[WeekDay(time)] + ', ' + + LongMonths[YMD.month] + ' ' + + TwoDigitString(YMD.date) + ', ' + + YMD.year; +} + + function TimeString(time) { return TwoDigitString(HourFromTime(time)) + ':' + TwoDigitString(MinFromTime(time)) + ':' @@ -616,7 +629,9 @@ function DateToLocaleString() { // ECMA 262 - 15.9.5.6 function DateToLocaleDateString() { - return DateToDateString.call(this); + var t = GetTimeFrom(this); + if ($isNaN(t)) return kInvalidDate; + return LongDateString(LocalTimeNoCheck(t)); } -- 2.34.1