Unicode C
Unicode C
How to Parse a TimeStamp (such as 2016-11-11T14:32:17.0908971Z)
Timestamps are frequently used in REST API responses. This example demonstrates how to parse a timestamp string to get at the date/time components in the local timezone or in the GMT/UTC timezone.Chilkat Unicode C Downloads
#include <C_CkDateTimeW.h>
#include <C_CkDtObjW.h>
void ChilkatSample(void)
{
const wchar_t *strTimestamp;
HCkDateTimeW dateTime;
BOOL bLocalTimezone;
HCkDtObjW dt;
// Let's say we have a timestamp string such as 2016-11-11T14:32:17.0908971Z
strTimestamp = L"2016-11-11T14:32:17.0908971Z";
dateTime = CkDateTimeW_Create();
CkDateTimeW_SetFromTimestamp(dateTime,strTimestamp);
// Get a DtObj in the local timezone.
bLocalTimezone = TRUE;
dt = CkDtObjW_Create();
CkDateTimeW_ToDtObj(dateTime,bLocalTimezone,dt);
// Get the individual date/time components
wprintf(L"-- Local Time --\n");
wprintf(L"Year: %d\n",CkDtObjW_getYear(dt));
wprintf(L"Month: %d\n",CkDtObjW_getMonth(dt));
wprintf(L"Day: %d\n",CkDtObjW_getDay(dt));
wprintf(L"Hour: %d\n",CkDtObjW_getHour(dt));
wprintf(L"Minutes: %d\n",CkDtObjW_getMinute(dt));
wprintf(L"Seconds: %d\n",CkDtObjW_getSecond(dt));
// Get a DtObj in the GMT/UTC timezone.
bLocalTimezone = FALSE;
CkDateTimeW_ToDtObj(dateTime,bLocalTimezone,dt);
// Get the individual date/time components
wprintf(L"-- UTC Time --\n");
wprintf(L"Year: %d\n",CkDtObjW_getYear(dt));
wprintf(L"Month: %d\n",CkDtObjW_getMonth(dt));
wprintf(L"Day: %d\n",CkDtObjW_getDay(dt));
wprintf(L"Hour: %d\n",CkDtObjW_getHour(dt));
wprintf(L"Minutes: %d\n",CkDtObjW_getMinute(dt));
wprintf(L"Seconds: %d\n",CkDtObjW_getSecond(dt));
CkDateTimeW_Dispose(dateTime);
CkDtObjW_Dispose(dt);
}