Sample code for 30+ languages & platforms
Zig

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

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

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

    const gzip = try chilkat.Gzip.init();
    defer gzip.deinit();
    const dt = try chilkat.DateTime.init();
    defer dt.deinit();

    // Set the date/time using a timestamp format (ISO 8601 style):
    dt.setFromTimestamp("2025-11-15T12:45:26-05:00") catch {};

    // Apply the date/time to the Gzip object:
    gzip.setDt(dt) catch {
        std.debug.print("{s}\n", .{try gzip.getLastErrorText(alloc)});
        return;
    };

    // Compress a string so the custom date/time is embedded in the .gz:
    const input_str = "Example text for Gzip compression.";
    gzip.compressStringToFile(input_str, "utf-8", "output.gz") catch {
        std.debug.print("{s}\n", .{try gzip.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("Gzip file created with custom last-modified date.\n", .{});
}