Reviewers: iposva,

Description:
Fix Chromium issue 3607.

Make Date::toLocaleDateString output be the same format as Safari.

Someone famililar with Date builtin object should check other functions.



Please review this at http://codereview.chromium.org/8875

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/date-delay.js


Index: src/date-delay.js
===================================================================
--- src/date-delay.js   (revision 631)
+++ src/date-delay.js   (working copy)
@@ -502,7 +502,6 @@
  var WeekDays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
  var Months =  
['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 
'Dec'];

-
  function TwoDigitString(value) {
    return value < 10 ? "0" + value : "" + value;
  }
@@ -517,6 +516,19 @@
  }


+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 +628,9 @@

  // 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));
  }





--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to