aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/builtins/builtins-date.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/builtins-date.cc')
-rw-r--r--deps/v8/src/builtins/builtins-date.cc19
1 files changed, 12 insertions, 7 deletions
diff --git a/deps/v8/src/builtins/builtins-date.cc b/deps/v8/src/builtins/builtins-date.cc
index ffbeab26a3..6701db28a3 100644
--- a/deps/v8/src/builtins/builtins-date.cc
+++ b/deps/v8/src/builtins/builtins-date.cc
@@ -172,17 +172,20 @@ DateBuffer ToDateString(double time_val, DateCache* date_cache,
const char* local_timezone = date_cache->LocalTimezone(time_ms);
switch (mode) {
case kDateOnly:
- return FormatDate("%s %s %02d %04d", kShortWeekDays[weekday],
- kShortMonths[month], day, year);
+ return FormatDate((year < 0) ? "%s %s %02d %05d" : "%s %s %02d %04d",
+ kShortWeekDays[weekday], kShortMonths[month], day,
+ year);
case kTimeOnly:
return FormatDate("%02d:%02d:%02d GMT%c%02d%02d (%s)", hour, min, sec,
(timezone_offset < 0) ? '-' : '+', timezone_hour,
timezone_min, local_timezone);
case kDateAndTime:
- return FormatDate("%s %s %02d %04d %02d:%02d:%02d GMT%c%02d%02d (%s)",
- kShortWeekDays[weekday], kShortMonths[month], day, year,
- hour, min, sec, (timezone_offset < 0) ? '-' : '+',
- timezone_hour, timezone_min, local_timezone);
+ return FormatDate(
+ (year < 0) ? "%s %s %02d %05d %02d:%02d:%02d GMT%c%02d%02d (%s)"
+ : "%s %s %02d %04d %02d:%02d:%02d GMT%c%02d%02d (%s)",
+ kShortWeekDays[weekday], kShortMonths[month], day, year, hour, min,
+ sec, (timezone_offset < 0) ? '-' : '+', timezone_hour, timezone_min,
+ local_timezone);
}
UNREACHABLE();
}
@@ -914,7 +917,9 @@ BUILTIN(DatePrototypeToUTCString) {
int year, month, day, weekday, hour, min, sec, ms;
isolate->date_cache()->BreakDownTime(time_ms, &year, &month, &day, &weekday,
&hour, &min, &sec, &ms);
- SNPrintF(ArrayVector(buffer), "%s, %02d %s %04d %02d:%02d:%02d GMT",
+ SNPrintF(ArrayVector(buffer),
+ (year < 0) ? "%s, %02d %s %05d %02d:%02d:%02d GMT"
+ : "%s, %02d %s %04d %02d:%02d:%02d GMT",
kShortWeekDays[weekday], day, kShortMonths[month], year, hour, min,
sec);
return *isolate->factory()->NewStringFromAsciiChecked(buffer);