Sample code for 30+ languages & platforms
PureBasic

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 PureBasic Downloads

PureBasic
IncludeFile "CkGzip.pb"
IncludeFile "CkDateTime.pb"

Procedure ChilkatExample()

    success.i = 0

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

    gzip.i = CkGzip::ckCreate()
    If gzip.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    dt.i = CkDateTime::ckCreate()
    If dt.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

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

    ; Apply the date/time to the Gzip object:
    success = CkGzip::ckSetDt(gzip,dt)
    If success = 0
        Debug CkGzip::ckLastErrorText(gzip)
        CkGzip::ckDispose(gzip)
        CkDateTime::ckDispose(dt)
        ProcedureReturn
    EndIf

    ; Compress a string so the custom date/time is embedded in the .gz:
    inputStr.s = "Example text for Gzip compression."
    success = CkGzip::ckCompressStringToFile(gzip,inputStr,"utf-8","output.gz")
    If success = 0
        Debug CkGzip::ckLastErrorText(gzip)
        CkGzip::ckDispose(gzip)
        CkDateTime::ckDispose(dt)
        ProcedureReturn
    EndIf

    Debug "Gzip file created with custom last-modified date."


    CkGzip::ckDispose(gzip)
    CkDateTime::ckDispose(dt)


    ProcedureReturn
EndProcedure