У меня есть приложение, в котором я хочу иметь функцию, где он синхронизирует системные часы Windows, но устанавливает только минуты, если, например, системное время не равно 13:58, а сервер времени 14:02, и в этом случае также должен быть изменен час. Дело в том, что я не хочу использовать часы/дни сервера времени, потому что я хочу, чтобы пользователь мог установить часы в любое время (независимо от часового пояса), но для его синхронизации.Синхронизация времени, но игнорирование часовых поясов
Например, даже если часовой пояс Windows является PST, и пользователь устанавливает часы в течение 5 часов в будущем без изменения часового пояса, я хочу, чтобы система правильно синхронизировалась, сохраняя ее в течение 5 часов в будущем.
Есть ли алгоритм, который мог бы определить, следует ли устанавливать час вперед или назад в час в зависимости от минут, но без учета каких-либо факторов часового пояса? Если системе 15:59, а серверу 16:02, система должна установить значение 16:02, а не 15:02 (что было бы, если бы оно только изменило минуты). Если система равна 15:28, а серверу 16:02, система должна быть установлена в 15:02. Некоторое время я обдумывал это, но, похоже, не могу понять, как я буду это делать!
У меня уже есть код для получения даты и времени сервера времени, а также системного времени (я использую delphi), так что это просто вопрос расчета того, что с ним делать.
Спасибо за ваше время.
В чем причина того, что часы настроены на «местное время»? может ли пользователь просто изменить свой часовой пояс на соответствующее смещение? –