Unicode C
Unicode 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 Unicode C Downloads
#include <C_CkJsonObjectW.h>
#include <C_CkDateTimeW.h>
void ChilkatSample(void)
{
BOOL success;
HCkJsonObjectW json;
HCkDateTimeW 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 = CkJsonObjectW_Create();
CkJsonObjectW_UpdateString(json,L"ntp_server",L"pool.ntp.org");
// Query the NTP server for the current date/time.
dt = CkDateTimeW_Create();
success = CkDateTimeW_SetFromNtpServer(dt,CkJsonObjectW_emit(json));
if (success == FALSE) {
wprintf(L"%s\n",CkDateTimeW_lastErrorText(dt));
CkJsonObjectW_Dispose(json);
CkDateTimeW_Dispose(dt);
return;
}
// Show the date/time in various formats..
bLocalTime = TRUE;
wprintf(L"%s\n",CkDateTimeW_getAsTimestamp(dt,bLocalTime));
wprintf(L"%s\n",CkDateTimeW_getAsRfc822(dt,bLocalTime));
wprintf(L"%u\n",CkDateTimeW_GetAsUnixTime(dt,bLocalTime));
// Sample output:
// 2023-10-31T09:43:27-05:00
// Tue, 31 Oct 2023 09:43:27 -0500
// 1698745407
CkJsonObjectW_Dispose(json);
CkDateTimeW_Dispose(dt);
}