Sample code for 30+ languages & platforms
Visual FoxPro

Get Current Date/Time from NIST Time Server

See more Socket/SSL/TLS Examples

Demonstrates using Chilkat Socket to connect to an NIST time server and (using the old Time Protocol (RFC 868)), will read the current GMT time.

Note: This is not necessarily the very best means for getting the current date/time. The most commonly used time protocol is the Network Time Protocol (RFC-1305).

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSocket
LOCAL lnMaxWaitMs
LOCAL lnUseTls
LOCAL lnBigEndian
LOCAL loDt
LOCAL lnBLocalTime

lnSuccess = 0

* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loSocket = CreateObject('Chilkat.Socket')

* Connect to an NIST time server and read the current date/time
lnMaxWaitMs = 4000
lnUseTls = 0
lnSuccess = loSocket.Connect("time-c.nist.gov",37,lnUseTls,lnMaxWaitMs)
IF (lnSuccess <> 1) THEN
    ? loSocket.LastErrorText
    RELEASE loSocket
    CANCEL
ENDIF

* The time server will send a big-endian 32-bit integer representing
* the number of seconds since since 00:00 (midnight) 1 January 1900 GMT.
* The ReceiveInt32 method will receive a 4-byte integer, but returns
* 1 or 0 to indicate success.  If successful, the integer
* is obtained via the ReceivedInt property.
lnBigEndian = 1
lnSuccess = loSocket.ReceiveInt32(lnBigEndian)
IF (lnSuccess <> 1) THEN
    ? loSocket.LastErrorText
    RELEASE loSocket
    CANCEL
ENDIF

loDt = CreateObject('Chilkat.CkDateTime')
loDt.SetFromNtpTime(loSocket.ReceivedInt)

* Show the current local date/time
lnBLocalTime = 1
? "Current local date/time: " + loDt.GetAsRfc822(lnBLocalTime)

lnMaxWaitMs = 10
loSocket.Close(lnMaxWaitMs)

RELEASE loSocket
RELEASE loDt