То о чём вы говорите, похоже, решено в этом фиксе: diff/1/src/date.h. И конкретно это — ошибка разработчиков браузера (в DaylightSavingsOffsetInMs нужно передавать локальное время, а они передали UTC).
Однако обратите внимание на функцию GetLocalOffsetFromOS — она берёт смещение локального времени у ОС.
Т.е. хром использует базу часовых поясов операционки и это является причиной обсуждаемой проблемы с KB2998527.
<лирика>
Если у вас есть подвесной мост, то он может упасть по различным причинам — отвалится либо один конец, либо второй (или оба) — тут аналогичный случай.
</лирика>
Думаю, что некоторые реализации опираются на иные источники данных о часовых поясах (например на tz database). Но даже в этом случае не факт, что всё хорошо — как минимум текущая дата/время предоставляется операционкой. Принцип GIGO никто не отменял.
Хотя строго говоря, это не проблема браузера(-ов).
Браузеры опираются на API OS и просто транслируют все чудеса, которые были принесены кривым обновлением.
Только ли в хроме дело?
Буквально вчера в FireFox наблюдал занятный эффект в календаре на главной странице одного сайта — смещение дат на 1 день назад. Эффект действует до 7-го января включительно.
Загрузку серверов относительно максимума за прошлый день. Обновление данных один раз в секунду. (Displays server load relative to previous day’s maximum updating every second).
www.youtube.com/watch?v=hC3VTgIPoGU
Масштабы просто поражают.
То о чём вы говорите, похоже, решено в этом фиксе: diff/1/src/date.h. И конкретно это — ошибка разработчиков браузера (в DaylightSavingsOffsetInMs нужно передавать локальное время, а они передали UTC).
Однако обратите внимание на функцию GetLocalOffsetFromOS — она берёт смещение локального времени у ОС.
virtual int GetLocalOffsetFromOS() {
double offset = base::OS::LocalTimeOffset(tz_cache_);
DCHECK(offset < kInvalidLocalOffsetInMs);
return static_cast(offset);
}
Т.е. хром использует базу часовых поясов операционки и это является причиной обсуждаемой проблемы с KB2998527.
<лирика>
Если у вас есть подвесной мост, то он может упасть по различным причинам — отвалится либо один конец, либо второй (или оба) — тут аналогичный случай.
</лирика>
Браузеры опираются на API OS и просто транслируют все чудеса, которые были принесены кривым обновлением.
Буквально вчера в FireFox наблюдал занятный эффект в календаре на главной странице одного сайта — смещение дат на 1 день назад. Эффект действует до 7-го января включительно.
mamba.ru: 70 % (Финам) + 31.34 % (Mail.ru) =
146%101.34 %Можно написать так:
И использовать через создание объекта: