Важно не просто узнать показания двух часов. Нужно взять один общий момент и выразить его по правилам каждого часового пояса.
Начните с одного момента
Два местных показания можно сравнивать, только если они описывают один момент. Поэтому текущее сравнение начинается с одной серверной отметки времени. Для плана задаются местные дата и время в названной исходной зоне; сервер превращает их в момент и только затем рассчитывает вторую зону. Так несвязанные показания не смешиваются.
Сравнивайте смещения, а не представления о городах
В конкретный момент у каждой зоны есть смещение относительно UTC. Разность смещений второй и первой зоны даёт разницу часов. Но смещение относится к моменту, а не закреплено за городом навсегда. Одно место может сезонно переводить часы, а другое — нет, поэтому запомненная разница верна зимой и ошибочна летом.
Проверяйте и календарный день
Одной разницы часов недостаточно около полуночи. Во второй зоне уже может наступить следующий день или ещё продолжаться предыдущий. Показывайте местную дату рядом с каждым временем и явно называйте отношение дней. При планировании звонка, встречи или прибытия такая подпись предотвращает больше ошибок, чем одно число смещения.