GitHub использует стратегию, которая включает шаблон смещения даты и времени. Когда вы делаете коммит, отметка времени включает ваше смещение от UTC.
Это можно увидеть в документации API для коммитов . Образец, который они показывают там, использует временную метку коммита "2010-04-10T14:10:01-07:00"
. Это действительное представление ISO-8601 смещения даты и времени. Для человека, выполняющего обязательство, это было 10 апреля 2010 года в 14:10:01. Предмет появится в его календаре коммитов на субботу, 10 апреля.
Git и GitHub не пытаются нормализовать эти данные по смещению средства просмотра, но они учитывают это при расчете строк относительного времени. Например, в проекте, над которым я работаю, есть коммит, который говорит, что он был сделан «1 час назад». Сейчас 1:30 моего времени, но когда я наведу курсор на этот текст, похоже, что он был сделан в 2:30. Как это может быть? Потому что мое смещение в настоящее время составляет -07: 00, а лицо, сделавшее коммит, имеет смещение -05: 00.
Таким образом, нет общесистемного первого часа начала дня. Два коммита, сделанные в один и тот же момент времени, могут появиться в два разных дня даже в одном и том же календаре, если они были сделаны людьми в разных часовых поясах. Другими словами, «день GitHub» - это виртуальная «плавающая» календарная дата, которая выравнивается по коммиттеру, а не обязательно по зрителю.
Мэтт Джонсон-Пинт
источник