Sample code for 30+ languages & platforms
C

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 C Downloads

C
#include <C_CkJsonObject.h>
#include <C_CkDateTime.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkJsonObject json;
    HCkDateTime dt;
    BOOL bLocalTime;

    success = FALSE;

    //  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 = CkJsonObject_Create();
    CkJsonObject_UpdateString(json,"ntp_server","pool.ntp.org");

    //  Query the NTP server for the current date/time.
    dt = CkDateTime_Create();
    success = CkDateTime_SetFromNtpServer(dt,CkJsonObject_emit(json));
    if (success == FALSE) {
        printf("%s\n",CkDateTime_lastErrorText(dt));
        CkJsonObject_Dispose(json);
        CkDateTime_Dispose(dt);
        return;
    }

    //  Show the date/time in various formats..
    bLocalTime = TRUE;
    printf("%s\n",CkDateTime_getAsTimestamp(dt,bLocalTime));
    printf("%s\n",CkDateTime_getAsRfc822(dt,bLocalTime));
    printf("%u\n",CkDateTime_GetAsUnixTime(dt,bLocalTime));

    //  Sample output:

    //  2023-10-31T09:43:27-05:00
    //  Tue, 31 Oct 2023 09:43:27 -0500
    //  1698745407


    CkJsonObject_Dispose(json);
    CkDateTime_Dispose(dt);

    }