Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoDt
    Boolean iSuccess
    Boolean b
    String sTemp1

    Get Create (RefClass(cComCkDateTime)) To hoDt
    If (Not(IsComObjectCreated(hoDt))) Begin
        Send CreateComObject of hoDt
    End

    // Set to the current system date/time.
    Get ComSetFromCurrentSystemTime Of hoDt To iSuccess
    Get ComGetAsTimestamp Of hoDt True To sTemp1
    Showln "Now: " sTemp1

    // Add 10 minutes, making the date 10 minutes in the future.
    Get ComAddSeconds Of hoDt 600 To iSuccess
    Get ComGetAsTimestamp Of hoDt True To sTemp1
    Showln "10 minutes from now: " sTemp1

    // Is the date/time within 10 seconds of expiration (i.e. within 10 seconds of now)?
    Get ComExpiresWithin Of hoDt 10 "seconds" To b
    Showln "Expires within 10 seconds: " b

    // Does the date/time expire within 5 minutes?
    Get ComExpiresWithin Of hoDt 5 "minutes" To b
    Showln "Expires within 5 minutes: " b

    // Does the date/time expire within 15 minutes?
    Get ComExpiresWithin Of hoDt 15 "minutes" To b
    Showln "Expires within 15 minutes: " b

    // Does the date/time expire within 1 hour?
    Get ComExpiresWithin Of hoDt 1 "hour" To b
    Showln "Expires within 1 hour: " b

    // Does the date/time expire within 1 day?
    Get ComExpiresWithin Of hoDt 1 "day" To b
    Showln "Expires within 1 day: " 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


End_Procedure