diff options
Diffstat (limited to 'deps/v8/src/date.cc')
-rw-r--r-- | deps/v8/src/date.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/deps/v8/src/date.cc b/deps/v8/src/date.cc index 3106b1622b..f98ad64f1f 100644 --- a/deps/v8/src/date.cc +++ b/deps/v8/src/date.cc @@ -71,7 +71,7 @@ void DateCache::YearMonthDayFromDays( *year = 400 * (days / kDaysIn400Years) - kYearsOffset; days %= kDaysIn400Years; - DCHECK(DaysFromYearMonth(*year, 0) + days == save_days); + DCHECK_EQ(save_days, DaysFromYearMonth(*year, 0) + days); days--; int yd1 = days / kDaysIn100Years; @@ -175,6 +175,20 @@ int DateCache::DaysFromYearMonth(int year, int month) { } +void DateCache::BreakDownTime(int64_t time_ms, int* year, int* month, int* day, + int* weekday, int* hour, int* min, int* sec, + int* ms) { + int const days = DaysFromTime(time_ms); + int const time_in_day_ms = TimeInDay(time_ms, days); + YearMonthDayFromDays(days, year, month, day); + *weekday = Weekday(days); + *hour = time_in_day_ms / (60 * 60 * 1000); + *min = (time_in_day_ms / (60 * 1000)) % 60; + *sec = (time_in_day_ms / 1000) % 60; + *ms = time_in_day_ms % 1000; +} + + void DateCache::ExtendTheAfterSegment(int time_sec, int offset_ms) { if (after_->offset_ms == offset_ms && after_->start_sec <= time_sec + kDefaultDSTDeltaInSec && |