PureBasic
PureBasic
Query NTP Server for Current Date/Time
Demonstrates how to query an NTP server to get the current date/time.Note: This feature was added in Chilkat v9.5.0.96.
Chilkat PureBasic Downloads
IncludeFile "CkDateTime.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
; Specify the NTP server domain.
; Information is passed in a JSON object to allow for any unanticipated future optional information that might need to be provided.
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"ntp_server","pool.ntp.org")
; Query the NTP server for the current date/time.
dt.i = CkDateTime::ckCreate()
If dt.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkDateTime::ckSetFromNtpServer(dt,CkJsonObject::ckEmit(json))
If success = 0
Debug CkDateTime::ckLastErrorText(dt)
CkJsonObject::ckDispose(json)
CkDateTime::ckDispose(dt)
ProcedureReturn
EndIf
; Show the date/time in various formats..
bLocalTime.i = 1
Debug CkDateTime::ckGetAsTimestamp(dt,bLocalTime)
Debug CkDateTime::ckGetAsRfc822(dt,bLocalTime)
Debug Str(CkDateTime::ckGetAsUnixTime(dt,bLocalTime))
; Sample output:
; 2023-10-31T09:43:27-05:00
; Tue, 31 Oct 2023 09:43:27 -0500
; 1698745407
CkJsonObject::ckDispose(json)
CkDateTime::ckDispose(dt)
ProcedureReturn
EndProcedure