Sample code for 30+ languages & platforms
Unicode C

Set a Custom Last-Modified Date in a Gzip File

See more Gzip Examples

This example demonstrates how to use the SetDt method to specify a custom last-modified date and time that will be embedded in a Gzip file.

A CkDateTime object is first initialized with a specific date/time using an RFC 822 formatted string. This date/time is then applied to the Gzip object using SetDt.

When a compression method is called (such as CompressStringToFile), the specified date/time is included in the Gzip metadata. This allows the resulting .gz file to carry a meaningful timestamp rather than using the current system time.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkGzipW.h>
#include <C_CkDateTimeW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkGzipW gzip;
    HCkDateTimeW dt;
    const wchar_t *inputStr;

    success = FALSE;

    // This example demonstrates how to set a custom last-modified date/time
    // that will be embedded in a Gzip file.

    gzip = CkGzipW_Create();
    dt = CkDateTimeW_Create();

    // Set the date/time using a timestamp format (ISO 8601 style):
    CkDateTimeW_SetFromTimestamp(dt,L"2025-11-15T12:45:26-05:00");

    // Apply the date/time to the Gzip object:
    success = CkGzipW_SetDt(gzip,dt);
    if (success == FALSE) {
        wprintf(L"%s\n",CkGzipW_lastErrorText(gzip));
        CkGzipW_Dispose(gzip);
        CkDateTimeW_Dispose(dt);
        return;
    }

    // Compress a string so the custom date/time is embedded in the .gz:
    inputStr = L"Example text for Gzip compression.";
    success = CkGzipW_CompressStringToFile(gzip,inputStr,L"utf-8",L"output.gz");
    if (success == FALSE) {
        wprintf(L"%s\n",CkGzipW_lastErrorText(gzip));
        CkGzipW_Dispose(gzip);
        CkDateTimeW_Dispose(dt);
        return;
    }

    wprintf(L"Gzip file created with custom last-modified date.\n");


    CkGzipW_Dispose(gzip);
    CkDateTimeW_Dispose(dt);

    }