Я пытаюсь написать код для сна до начала следующей минуты в местном часовом поясе, но испытываю большие трудности. Библиотека time
всегда была одним из моих слабых мест, поэтому я предполагаю, что есть какой-то простой способ сделать это.
Я думал просто вычислить новое TimeOfDay, но это не будет работать с 23:59 до 00:00, и, предположительно, вызовет путаницу при переходе на летнее время.
Обработка високосных секунд тоже была бы приятным бонусом.
Использование Control.Concurrent.threadDelay для выполнения сна кажется мне самым простым методом, поэтому альтернативным вопросом будет: Как я могу получить количество микросекунд до начала следующей минуты? DiffTime
и NominalDiffTime
будут вполне приемлемыми способами достижения этой цели.