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