Sample code for 30+ languages & platforms
Unicode C

Extract Timestamp from ULID

See more ULID/UUID Examples

Extract the date/time from a ULID.

Important: Chilkat's ULID functionality was introduced in v9.5.0.94.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkDateTimeW.h>

void ChilkatSample(void)
    {
    BOOL success;
    const wchar_t *ulid;
    HCkDateTimeW dt;
    BOOL bLocal;

    success = FALSE;

    ulid = L"01GRH14AA82EY9A7S99YYF2QDY";

    dt = CkDateTimeW_Create();

    // Unix timestamps stored in ULIDs should be UTC...
    bLocal = FALSE;
    // Set the CkDateTime from the timestamp contained in the ULID
    success = CkDateTimeW_SetFromUlid(dt,bLocal,ulid);
    if (success == FALSE) {
        wprintf(L"ULID was not valid.\n");
        CkDateTimeW_Dispose(dt);
        return;
    }

    // You can now get the date/time in any desired format.
    // For example:
    wprintf(L"Unix timestamp = %u\n",CkDateTimeW_GetAsUnixTime(dt,bLocal));
    wprintf(L"RFC822 = %s\n",CkDateTimeW_getAsRfc822(dt,bLocal));
    wprintf(L"Timestamp = %s\n",CkDateTimeW_getAsTimestamp(dt,bLocal));

    // Sample output:

    // Unix timestamp = 1675608861
    // RFC822 = Sun, 05 Feb 2023 14:54:21 GMT
    // Timestamp = 2023-02-05T14:54:21Z


    CkDateTimeW_Dispose(dt);

    }