Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Delphi: Система, Windows API > Как получить дату и время из Интернета |
Автор: DDim1000 04.03.21, 09:25 |
Здравствуйте! Подскажите, пожалуйста, как получить дату и время из интернета? |
Автор: ^D^ima 04.03.21, 10:33 |
На форму кинь idTime (Indy компонент) <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> var lts:TDateTime; LTime:TIdTime; begin LTime := TIdTime.Create(nil); try LTime.Host := 'time.nist.gov'; LTS := LTime.DateTime; ShowMessage(DateTimeToStr(LTS)); // do something finally LTime.Free; end; end; |
Автор: DDim1000 04.03.21, 10:57 |
^D^ima, спасибо большое! Все получилось!!! |
Автор: DDim1000 04.03.21, 16:58 |
Почему-то при повторном запуске программы, выскакивает такая ошибка: Socket Error # 10054 Connection reset by peer. Как исправить? <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> LTime.Host := 'time.nist.gov'; LTS := LTime.DateTime; //label2.Caption:=DateTimeToStr(LTS); // do something LTime.Disconnect(); |
Автор: Mr.Delphist 05.03.21, 11:11 |
Может, там лимит есть на число запросов? В любом случае, надо иметь не один time.nist.gov, а несколько NTP-серверов для опроса, чтобы как раз такие нештатные ситуации отрабатывать и переспрашивать у другого сервака в списке. |
Автор: vvs777 15.01.22, 14:04 |
Можно еще на низком уровне. В общем случае копать надо в сторону анализа работы ntp (Linux) или выше упомянутых компонентов. Реализуется такое отправкой одного UDP запроса и получением ответа, но ответ часто не приходит потому нужно повторно отправлять. |