Sample code for 30+ languages & platforms
Zig

Date/Time Expires Within N Seconds/Minutes/Hours/Days

Demonstrates the how to tell if a date/time is within N seconds, minutes, hours, or days of 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();

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

    // Set to the current system date/time.
    dt.setFromCurrentSystemTime() catch {};
    std.debug.print("Now: {s}\n", .{try dt.getAsTimestamp(alloc, true)});

    // Add 10 minutes, making the date 10 minutes in the future.
    dt.addSeconds(600) catch {};
    std.debug.print("10 minutes from now: {s}\n", .{try dt.getAsTimestamp(alloc, true)});

    // Is the date/time within 10 seconds of expiration (i.e. within 10 seconds of now)?
    var b: bool = dt.expiresWithin(10, "seconds");
    std.debug.print("Expires within 10 seconds: {}\n", .{b});

    // Does the date/time expire within 5 minutes?
    b = dt.expiresWithin(5, "minutes");
    std.debug.print("Expires within 5 minutes: {}\n", .{b});

    // Does the date/time expire within 15 minutes?
    b = dt.expiresWithin(15, "minutes");
    std.debug.print("Expires within 15 minutes: {}\n", .{b});

    // Does the date/time expire within 1 hour?
    b = dt.expiresWithin(1, "hour");
    std.debug.print("Expires within 1 hour: {}\n", .{b});

    // Does the date/time expire within 1 day?
    b = dt.expiresWithin(1, "day");
    std.debug.print("Expires within 1 day: {}\n", .{b});

    // Output:

    //     Now: 2017-05-05T23:48:00-0500
    //     10 minutes from now: 2017-05-05T23:58:00-0500
    //     Expires within 10 seconds: False
    //     Expires within 5 minutes: False
    //     Expires within 15 minutes: True
    //     Expires within 1 hour: True
    //     Expires within 1 day: True
}