Sample code for 30+ languages & platforms
PureBasic

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

PureBasic
IncludeFile "CkDateTime.pb"

Procedure ChilkatExample()

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

    ; Set to the current system date/time.
    CkDateTime::ckSetFromCurrentSystemTime(dt)
    Debug "Now: " + CkDateTime::ckGetAsTimestamp(dt,1)

    ; Add 10 minutes, making the date 10 minutes in the future.
    CkDateTime::ckAddSeconds(dt,600)
    Debug "10 minutes from now: " + CkDateTime::ckGetAsTimestamp(dt,1)

    ; Is the date/time within 10 seconds of expiration (i.e. within 10 seconds of now)?
    b.i = CkDateTime::ckExpiresWithin(dt,10,"seconds")
    Debug "Expires within 10 seconds: " + Str(b)

    ; Does the date/time expire within 5 minutes?
    b = CkDateTime::ckExpiresWithin(dt,5,"minutes")
    Debug "Expires within 5 minutes: " + Str(b)

    ; Does the date/time expire within 15 minutes?
    b = CkDateTime::ckExpiresWithin(dt,15,"minutes")
    Debug "Expires within 15 minutes: " + Str(b)

    ; Does the date/time expire within 1 hour?
    b = CkDateTime::ckExpiresWithin(dt,1,"hour")
    Debug "Expires within 1 hour: " + Str(b)

    ; Does the date/time expire within 1 day?
    b = CkDateTime::ckExpiresWithin(dt,1,"day")
    Debug "Expires within 1 day: " + Str(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


    CkDateTime::ckDispose(dt)


    ProcedureReturn
EndProcedure