Как и где в инете взять точное время ?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Как и где в инете взять точное время ?

Сообщение Cadett » 02.04.2003 (Ср) 12:48

Собссно сабж. Требуется вывести в лабел скоординированное время UTC (по Гринвичу). Желательно достать его с инета для точности, но на крайняк хотябы скажите как достать из винды региональную настройку с инфой какой часовой пояс и сколько часов разница от UTC.

P.S. Спасибо, тем кто ответил на мои крайние 2 вопроса. Очень посогли...
Sincerely
S.B.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 02.04.2003 (Ср) 13:07

http://www.worldtimeserver.com/

Вот на нем можно посмотреть ;) Там и утиль моджно скачать для синхронизации.

Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Сообщение Cadett » 02.04.2003 (Ср) 18:17

Это конечно спасибо, но задача не совсем такая. Мне нужно в проге своей заиметь лейбл, на котором время UTC сообщается.
Для этого нужно:
а) или при загрузке проги снять в сервера точное время и запустить далее таймер. Как снять прогой время из инета?
б) или на крайняк использовать системное время, но от него нужно отнять разницу. Как её узнать?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 02.04.2003 (Ср) 19:11

ИМХО, решение такое:
Ищете в Инете скрипт (pl или asp), который возвращает текущее время, а потом с помощью MS Internet Transfer Control грузите его "ответ" в label...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 02.04.2003 (Ср) 19:24

Хотя, конечно, такой скрипт найти не слишком просто...
Поищите на http://www.yandex.ru

Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Сообщение Cadett » 03.04.2003 (Чт) 10:45

Мда... Чё-то не могу найти... Может не так ищу... :(

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 03.04.2003 (Чт) 13:52

Private Declare Function NetRemoteTOD Lib "Netapi32.dll" ( _
tServer As Any, pBuffer As Long) As Long

Private Declare Function NetApiBufferFree Lib "Netapi32.dll" (ByVal lpBuffer As Long) As Long
'
Private Type TIME_OF_DAY_INFO
tod_elapsedt As Long
tod_msecs As Long
tod_hours As Long
tod_mins As Long
tod_secs As Long
tod_hunds As Long
tod_timezone As Long
tod_tinterval As Long
tod_day As Long
tod_month As Long
tod_year As Long
tod_weekday As Long
End Type
'
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
'
'
Public Function getRemoteTOD(ByVal strServer As String) As Date
'
Dim result As Date
Dim lRet As Long
Dim tod As TIME_OF_DAY_INFO
Dim lpbuff As Long
Dim tServer() As Byte
'
tServer = strServer & vbNullChar
lRet = NetRemoteTOD(tServer(0), lpbuff)
'
If lRet = 0 Then
CopyMemory tod, ByVal lpbuff, Len(tod)
NetApiBufferFree lpbuff
result = DateSerial(tod.tod_year, tod.tod_month, tod.tod_day) + _
TimeSerial(tod.tod_hours, tod.tod_mins - tod.tod_timezone, tod.tod_secs)
getRemoteTOD = result
End If
'
End Function
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Valerik
Обычный пользователь
Обычный пользователь
 
Сообщения: 69
Зарегистрирован: 18.10.2002 (Пт) 14:02
Откуда: Russia

Сообщение Valerik » 03.04.2003 (Чт) 17:56

time.windows.com

Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Сообщение Cadett » 03.04.2003 (Чт) 21:29

Sebas: А как это заюзать-то? Что писать в strSrver? Пытался писать IP известных серверов времени, но тогда прога зависает и всё.
Вставил код, и писал:

Private Sub Command1_Click()
MsgBox getRemoteTOD("132.163.4.101")
End Sub

Valerik: Вопрос не дайте мне адрес сервера времени. Я их много знаю, а как это из проги заюзать.

Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Сообщение Cadett » 06.04.2003 (Вс) 23:27

Мужики, ну подскижите ещё, тема ведь очевидная...

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 07.04.2003 (Пн) 9:31

Обращаещься к серверу через Winsock, как обычно. Даешь запрос на соединение (хоть ftp, smtp и т.д.) и он тебе время выдает по любому свое. Ищешь сервер по надежнее в этом плане и все ...

Примеры коннектов к серверу - см. vbstreets.ru.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Сообщение Cadett » 07.04.2003 (Пн) 11:32

gaidar писал(а):Обращаещься к серверу через Winsock, как обычно. Даешь запрос на соединение (хоть ftp, smtp и т.д.) и он тебе время выдает по любому свое. Ищешь сервер по надежнее в этом плане и все ...

Примеры коннектов к серверу - см. vbstreets.ru.


:) Истина где-то рядом... Все знают, но никто не говорит... :)

Как законнектиться к серверу мне пояснили тут уже (правда с помощью Inet контрола) а как время-то взять оттуда??

FaKk2
El rebelde gur&#250;
El rebelde gur&#250;
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 07.04.2003 (Пн) 20:19

gaidar, имхо хочет сказать следующее:
когда ты коннектишься к серверу через порт почты или фтп, он тебе отсылает welcome сообщение о себе. это обычный текст. там то и дается локальное время сервера. Теперь, ищешь подходящий сервер, соединяешься, ищешь в строке время и выводишь на лэйбл.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Сообщение Cadett » 08.04.2003 (Вт) 1:27

Мужики, извините дурака. Дайте пример. Не шлёт он мне никаких вэлкамов. Нужная тема. Плз...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 54

    TopList