Internet Date
- Jeff Barnes
- Posts: 912
- Joined: Sun Oct 09, 2005 1:05 pm
- Location: Ontario, Canada
- Contact:
Internet Date
Hi,
Is there a way to get the current date via FWH from the internet?
Is there a way to get the current date via FWH from the internet?
Thanks,
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
-
- Posts: 824
- Joined: Thu Oct 13, 2005 7:39 am
- Location: Germany
- Jeff Barnes
- Posts: 912
- Joined: Sun Oct 09, 2005 1:05 pm
- Location: Ontario, Canada
- Contact:
Re: Internet Date
Thanks Stefan but I get this error:
Module: 'tsntp.prg' was compiled into PCODE version 7, this version of xHarbour expects version: 10
Module: 'tsntp.prg' was compiled into PCODE version 7, this version of xHarbour expects version: 10
Thanks,
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
-
- Posts: 824
- Joined: Thu Oct 13, 2005 7:39 am
- Location: Germany
-
- Posts: 824
- Joined: Thu Oct 13, 2005 7:39 am
- Location: Germany
Re: Internet Date
I found parts of the source here
http://www4.zzz.com.tw/phpbb2/viewtopic.php?t=29
But the function GetSntp() is missing, maybe you can contact the author
http://www4.zzz.com.tw/phpbb2/viewtopic.php?t=29
But the function GetSntp() is missing, maybe you can contact the author
kind regards
Stefan
Stefan
- Jeff Barnes
- Posts: 912
- Joined: Sun Oct 09, 2005 1:05 pm
- Location: Ontario, Canada
- Contact:
Re: Internet Date
Thanks Stefan,
I was able to get it working by linking the .lib file then adding an INCLUDE "TSNTP.PRG"
I was able to get it working by linking the .lib file then adding an INCLUDE "TSNTP.PRG"
Code: Select all
Func Test()
Local aNet := {},;
nPort := 123,;
cIp := "time.windows.com",;
lSync := .T.,;
oSntp := NIL;
cNetDate
oSntp := TSntp():New( cIP, nPort, lSync )
If oSntp:GetData()
// orignal code: ? oSntp:Date(), "date"
cNetDate := oSntp:Date()
Else
cNetDate := "99/99/99"
EndIf
Return cNetDate
Code: Select all
// TSNTP.PRG
// Copyright by WenSheng come from TAIWAN
#include "hbclass.ch"
#include "common.ch"
CLASS TSNTP
DATA cServer,; // server name/ip
nPort,; // server port
lSync,; // Sync flag
lError
DATA nYear,;
nMonth,;
nDay,;
nWeek,;
nDayOfYear
DATA nHours,;
nMinute,;
nSeconds
METHOD New(cServer, nPort, lSync)
METHOD GetData()
MESSAGE DATE METHOD _Date()
MESSAGE TIME METHOD _Time()
ENDCLASS
//
METHOD New( cServer, nPort, lSync ) CLASS TSNTP
DEFAULT cServer to "time.windows.com" // 主機名稱
DEFAULT nPort to 123 // 主機 port
DEFAULT lSync to .F. // 時間同步
::cServer := cServer
::nPort := nPort
::lSync := lSync
::lError := .F.
RETURN Self
//
METHOD GetData() CLASS TSNTP
Local xRet := GetSNTP( ::cServer, ::nPort, ::lSync )
If ValType(xRet) == "N"
::lError := .T.
::nYear := 0
::nMonth := 0
::nDay := 0
::nHours := 0
::nMinute := 0
::nSeconds := 0
::nWeek := 0
::nDayOfYear := 0
Else
::lError := .F.
// 0 1 2
// 12345678901234567890
// 取得資料 yyyymmddhhmmsswyda
::nYear := Val( Substr( xRet, 1, 4 ))
::nMonth := Val( Substr( xRet, 5, 2 ))
::nDay := Val( Substr( xRet, 7, 2 ))
::nHours := Val( Substr( xRet, 9, 2 ))
::nMinute := Val( Substr( xRet, 11, 2 ))
::nSeconds := Val( Substr( xRet, 13, 2 ))
::nWeek := Val( Substr( xRet, 15, 1 ))
::nDayOfYear := Val( Substr( xRet, 16, 3 ))
EndIf
RETURN ! ::lError
//
METHOD _Date() CLASS TSNTP
RETURN StoD( PadL( ::nYear, 4, "0" )+;
PadL( ::nMonth, 2, "0" )+;
PadL( ::nDay, 2, "0" ))
//
METHOD _Time() CLASS TSNTP
RETURN PadL( ::nHours, 2, "0" )+":"+;
PadL( ::nMinute, 2, "0" )+":"+;
PadL( ::nSeconds, 2, "0" )
Thanks,
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Re: Internet Date
An alternative using JSON, http://json-time.appspot.com/
Code: Select all
FUNCTION testTime()
LOCAL oHttp, hTime,cTime
oHttp:=CreateObject( "winhttp.winHttpRequest.5.1" )
oHttp:Open("GET","http://json-time.appspot.com/time.json",.F.)
oHttp:Send()
oHttp:waitForResponse()
IF oHttp:Status == 200
hb_jsondecode(oHttp:ResponseText(),@hTime) //Parse JSON to hash
cTime:=Str(hTime["hour"],2)+":"+Str(hTime["minute"],2)+":"+Str(hTime["second"],2)
//--- just for test output data
xBrowse(hTime) //All data in hash,
MsgInfo(cTime+" GMT") //Time GMT
MsgInfo(hTime["datetime"]) //Date time
//--
ENDIF
RETURN cTime
- albeiroval
- Posts: 323
- Joined: Tue Oct 16, 2007 5:51 pm
- Location: Barquisimeto - Venezuela
Re: Internet Date
Hi jeff,
where I get "tsntp.rar" or hb_fun_getsntp(...) function
thanks,
Albeiro,
where I get "tsntp.rar" or hb_fun_getsntp(...) function
thanks,
Albeiro,
- Jeff Barnes
- Posts: 912
- Joined: Sun Oct 09, 2005 1:05 pm
- Location: Ontario, Canada
- Contact:
Re: Internet Date
Hi Alberio,
Stefan provided a link to tsntp.rar above but here it is again:
http://www.file-upload.net/download-684 ... p.rar.html
Stefan provided a link to tsntp.rar above but here it is again:
http://www.file-upload.net/download-684 ... p.rar.html
Thanks,
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
- albeiroval
- Posts: 323
- Joined: Tue Oct 16, 2007 5:51 pm
- Location: Barquisimeto - Venezuela
Re: Internet Date
jeff,
I sent the link to babylon search, I do not want to install it, could you send me the zip file "tsntp.rar" to my mail "albeiroval@gmail.com" ..
thanks,
regards,
Albeiro,
I sent the link to babylon search, I do not want to install it, could you send me the zip file "tsntp.rar" to my mail "albeiroval@gmail.com" ..
thanks,
regards,
Albeiro,
- Jeff Barnes
- Posts: 912
- Joined: Sun Oct 09, 2005 1:05 pm
- Location: Ontario, Canada
- Contact:
Re: Internet Date
Hi Albeiro
Check your email
Check your email
Thanks,
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
Jeff Barnes
(FWH 12.01, xHarbour 1.2.1, Bcc582)
Re: Internet Date
Hi all,
after download of sntp.lib and test it, i found that after, about 32 call date-time test, the result is only FAIL!
I have some question:
- There is a limit of use this lib? (max number calling in a exe session?)
- How to remove it?
- Is possible to obtain more time precision from internet sntp?
- Exist GetSntp source code, how find it?
Thank you for your reply.
after download of sntp.lib and test it, i found that after, about 32 call date-time test, the result is only FAIL!
I have some question:
- There is a limit of use this lib? (max number calling in a exe session?)
- How to remove it?
- Is possible to obtain more time precision from internet sntp?
- Exist GetSntp source code, how find it?
Thank you for your reply.
Ciao, best regards,
Ugo
Ugo
Re: Internet Date
I use this function to check date
Code: Select all
FUNCTION Vencido
LOCAL nTime := fCreate( "chkdtime.bat" )
LOCAL cBuff := ""
LOCAL lRetu := .F.
LOCAL cDbar := "/" //
LOCAL aEOL := { Chr(13) + Chr(10), Chr(13), Chr(10) }
fWrite( nTime, "w32tm /stripchart /samples:1 /dataonly /computer:time.window.com >chkdtime.txt" )
fClose( nTime )
ShellExecute( 0, "open", "chkdtime.bat",,, )
WaitSeconds( 2 )
IF ( nTime := fOpen( "chkdtime.txt" ) ) > 0
WHILE hb_fReadLine( nTime, @cBuff, aEOL ) = 0
IF cDbar $ cBuff
cBuff := subStr( cBuff, at( cDbar, cBuff ) - 2 )
IF cToD( subStr( cBuff, 1, at( " ", cBuff ) - 1 ) ) > cToD( "01/01/14" )
msgStop( "O PERÍODO DE AVALIAÇÃO TERMINOU" + CRLF + "SOLICITE UMA VERSÃO ATUALIZADA AO DESENVOLVEDOR", "Atenção" )
lRetu := .T.
ENDIF
EXIT
ENDIF
ENDDO
fClose( nTime )
ENDIF
fErase( "chkdtime.bat" )
fErase( "chkdtime.txt" )
RETURN ( lRetu )
Regards,
André Dutheil
FWH 13.04 HB 3.2 BCC 5.82 MinGW 4.5.2 MSVS 10
André Dutheil
FWH 13.04 HB 3.2 BCC 5.82 MinGW 4.5.2 MSVS 10
Re: Internet Date
Hi Andrè
From my search, the ntp protocol can return exactly also 1/1000 sec!
The function "getsntp" is a good solution, is quick and use the standard protocol ntp.
The question is: where find it?
Can you help me?
Thank in advance.
Thank you, but my necessity is to have in return the exact TIME more exactly possible.ADutheil wrote:I use this function to check date ...
From my search, the ntp protocol can return exactly also 1/1000 sec!
The function "getsntp" is a good solution, is quick and use the standard protocol ntp.
The question is: where find it?
Can you help me?
Thank in advance.
Ciao, best regards,
Ugo
Ugo
- James Bott
- Posts: 4654
- Joined: Fri Nov 18, 2005 4:52 pm
- Location: San Diego, California, USA
- Contact:
Re: Internet Date
Ugo,
There are two links to the source code further up in this message thread.
James
There are two links to the source code further up in this message thread.
James