[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
DateTime
Задаёт системное время из интернета.
Скачать: yadi.sk, upload.ee

DateTime.ini

[set]
notauto = 0 - если 0, то никаких сообщений, если 1, то возможен запрос часового пояса, если 2, то будет предложено устанавить указанное время и показан успешный сервер, при этом задержка на чтение сообщения приведёт к неточности, во времени, так как время запрошено на момент вывода сообщения.
addhour = 5 - задаём зону например для Екатеринбурга. Здесь просто добавляется 5 часов к Гринвичу. Если задать выше 24, то часовой пояс запрашивается из ОС.
[servers] - список серверов, с которого запрашивается время
time.fu-berlin.de
ntp.nblug.org
time-a.timefreq.bldrdoc.gov
time-c.timefreq.bldrdoc.gov
utcnist.colorado.edu
Поддерживается ini-файл и ком-строка в виде "addhour server notauto", например "3 time.fu-berlin.de 1". При наличии ini-файла указанный в ком-строке сервер будет первым по списку.
Обновление
Добавлен таймер


Последний раз редактировалось: AZJIO (2022-05-11 15:09), всего редактировалось 4 раз(а)

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
AZJIO, етот сервер надеждный берлинский? Можно еще серверов задать?
И еще, я вроде в зону +2 а время у меня нормально дает на +3.

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
dimo70, измени в ini-файле на 2. Сервер просто взял рабочий, в ini-файле можно указать любой.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
AZJIO, а больше чем один сервер есть вариант указать в ини?

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    Valek271183
  • 14580
  • Стаж: 7 лет 6 месяцев
  • Сообщений: 103
  • Репутация:0

    [+] [-]
и при отсутствии интернета выставляет 1970 год

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
dimo70, в справке написано, что подключение к серверу желательно не менее 5 сек. В итоге если сделать в цикле перебор серверов. Можно попробовать добавить в ini-файл параметр ожидания в секундах и поставить 1-5 и посмотреть будет ли хватать времени подключиться. Тогда можно сделать секцию со список серверов. Есть ещё код, который может получить часовой пояс, но не знаю куда его приткнуть, так как если возникнет в системе какая нибудь проблема и будет вместо нужного вставлять неправильный, то программа станет бесполезной. Хотя можно попробовать вариант, если нет параметра в ini-файле или он больше 24, то запросить его системной функцией.
Добавлено через 5 минут 9 секунд:
Valek271183, в любом случае сначала спрашивает, установить ли это время, кроме случая auto. Ну да, нет проверки что произошёл коннект и возвращает 0, которое интерпретирует начало отсчёта. Можно сделать проверку и в конце ещё проверить что год более 2022, тогда точно старое не воткнёт.

[Цитировать]

    Adler
  • 1708
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 1196
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
94993етот сервер надеждный берлинский?
Выбирай сервер ➞ https://www.ntppool.org/zone/europe

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 1 месяц
  • Сообщений: 3586
  • Репутация:127

    [+] [-]
AZJIO, aa
Просто общие соображения:
- список серверов нужен однозначно
- при общем сбое (нет доступных серверов времени) возвращать errorlevel (для отработки в батниках) и не выставлять время вообще
- часовой пояс: параметр auto = брать инфу из системы, цифра = применять как пояс UTC

[Цитировать]

    Adler
  • 1708
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 1196
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
Хм. Программа работает в корне неправильно.
Она выставляет то время, что написано в сообщении, а не то, которое есть на самом деле на момент нажатия "Да".
Т.е. если нажать "да" через 10 секунд, например, то время будет отставать на 10 секунд от реального, а если через минуту, то на минуту.
Так вообще нельзя выставить точное время...
P.S. Точность установки времени можно смотреть на https://time.is


Последний раз редактировалось: Adler (2022-05-10 20:28), всего редактировалось 1 раз

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
Перезалил.
1. Если запрос времени с сервера возвращает 0 не важно по каким причинам в режиме авто просто выход, в режиме сообщений выдаст мессагу (забыл выход добавить, но добавлю).
2. Если addhour более 24, то прога делает запрос часового пояса у ОС. У меня работает правильно.
Остальное буду посмотреть.
Добавлено через 4 минуты 8 секунд:
Adler, лучше потерять пару сек, чем вставить неправильное время. Тут даже не знаю как лучше, то есть при согласии с указанным временем снова выполнить тот же финт? Браузер секунды не считает.

[Цитировать]

    JuraAD
  • 28398
  • Стаж: 2 года 8 месяцев
  • Сообщений: 70
  • Репутация:25

    [+] [-]
ntp утилитки работают не так просто, как может показаться...
1. опрашивается список или сервер (некоторые шлюзы (роутеры) сети, предоставляют сервис ntp);
2. есть некоторый джит (диаппазон) при котором время не устанавливается - считается ошибкой (обычно мин 30);
3. ведется статистика (как скачет время - постаянно в минус, постоянно в плюс и т.д) - тоже может быть отказ от установки, по данным с сервера...
Для точности логов на серверах это все важно.
зы: почитайте в утилитках linux (ntp демон) - там много в конфигурациях можно найти...

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
Режим "авто" придётся делать тогда в разных вариациях, разного уровня, чтобы полностью исключить любые сообщения или позволять некоторые вопросы. Тут для России и бывших республик СССР вполне можно при возврате часового пояса 0, считать это ошибкой, а не Гринвичем.

[Цитировать]

    JuraAD
  • 28398
  • Стаж: 2 года 8 месяцев
  • Сообщений: 70
  • Репутация:25

    [+] [-]
ntp обычно дает время в UTC формате...
_https://ru.wikipedia.org/wiki/NTP
_https://ru.wikipedia.org/wiki/Ntpd
к серверам эталонного времени многих не пустят, вы сможете работать только с промежуточными распостранителями точного времени, возможны ошибки.

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
Перезалил добавив код выхода, 0 - нет ошибок.
Остальное не сегодня.

[Цитировать]

    Adler
  • 1708
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 1196
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
95002Браузер секунды не считает.
Чего?

Там даже возможная погрешность рассчитывается по пингу...
Собственно протокол NTP на то и ориентировал что бы синхронизировать время с максимально возможной точностью - 10 мс (1/100 с) при работе через Интернет, и до 0,2 мс (1/5000 с) и лучше внутри локальных сетей.


Последний раз редактировалось: Adler (2022-05-10 21:18), всего редактировалось 3 раз(а)

Страница 1 из 2


Показать сообщения:    

Текущее время: 28-Мар 21:00

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы