C
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
#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);
}