PureBasic


DateTime

Назначение

Восстанавливает текущую дату и время ОС, взяв из интернета с одного из прописанных серверов в ini-файле. Программа не имеет окна, при запуске требует права администратора необходимые для смены даты. Особенно полезно при переключениях между Linux и Windows

Описание

Задаёт системное время из интернета

Поддерживается командная строка и настройки из ini

командная строка "addhour server notauto", например

3 time.fu-berlin.de 1

Если указывать не все параметры, то применяются значения по умолчанию.

Параметры ini-файла DateTime.ini

[set] ; секция настроек
notauto=0 ; если 0, то никаких сообщений, если 1, то возможен запрос часового пояса, если 2, то будет предложено установить указанное время и показан успешный сервер, при этом задержка на чтение сообщения приведёт к неточности, во времени, так как время запрошено на момент вывода сообщения.
addhour=5 ; задаём зону например для Екатеринбурга. Здесь просто добавляется 5 часов к Гринвичу. Если задать выше 24, то часовой пояс запрашивается из ОС.
[servers] ; список серверов, с которого запрашивается время
time.fu-berlin.de ; один из серверов


Если нет ini-файла и ком-строки, то программа выдаёт диалоговое окно, чтобы указать зону, так как понятно, что время Гринвича не будет использоваться для России. Если notauto = 0, то не выводить никаких сообщений, полезно чтобы не прерывать команды в bat-файлах.
Права админа требуются для изменения системного времени.

Чтобы определить рабочие серверы, надо задать notauto = 2, чтобы выводить время в сообщении и успешный сервер, при этом сервера выше по списку не сработали и их можно вычеркнуть, а сработавший поставить последним, снова запустить программу и повторить те же действия, пока первый успешный сервер не станет первым в списке.