Merge pull request #39935 from mrushyendra/datetime_negative

Fix weekday calculation in get_datetime_from_unix_time for negative times
This commit is contained in:
Rémi Verschelde 2020-06-29 09:19:01 +02:00 committed by GitHub
commit 9f9fa07f07
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -454,7 +454,7 @@ Dictionary _OS::get_datetime_from_unix_time(int64_t unix_time_val) const {
} else { } else {
dayno = (unix_time_val - SECS_DAY + 1) / SECS_DAY; dayno = (unix_time_val - SECS_DAY + 1) / SECS_DAY;
dayclock = unix_time_val - dayno * SECS_DAY; dayclock = unix_time_val - dayno * SECS_DAY;
date.weekday = static_cast<OS::Weekday>((dayno - 3) % 7 + 7); date.weekday = static_cast<OS::Weekday>(((dayno % 7) + 11) % 7);
do { do {
year--; year--;
dayno += YEARSIZE(year); dayno += YEARSIZE(year);