Sample code for 30+ languages & platforms
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 C Downloads

C
#include <C_CkGzip.h>
#include <C_CkDateTime.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkGzip gzip;
    HCkDateTime dt;
    const char *inputStr;

    success = FALSE;

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

    gzip = CkGzip_Create();
    dt = CkDateTime_Create();

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

    // Apply the date/time to the Gzip object:
    success = CkGzip_SetDt(gzip,dt);
    if (success == FALSE) {
        printf("%s\n",CkGzip_lastErrorText(gzip));
        CkGzip_Dispose(gzip);
        CkDateTime_Dispose(dt);
        return;
    }

    // Compress a string so the custom date/time is embedded in the .gz:
    inputStr = "Example text for Gzip compression.";
    success = CkGzip_CompressStringToFile(gzip,inputStr,"utf-8","output.gz");
    if (success == FALSE) {
        printf("%s\n",CkGzip_lastErrorText(gzip));
        CkGzip_Dispose(gzip);
        CkDateTime_Dispose(dt);
        return;
    }

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


    CkGzip_Dispose(gzip);
    CkDateTime_Dispose(dt);

    }