Sample code for 30+ languages & platforms
PureBasic

Extract Timestamp from ULID

See more ULID/UUID Examples

Extract the date/time from a ULID.

Important: Chilkat's ULID functionality was introduced in v9.5.0.94.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkDateTime.pb"

Procedure ChilkatExample()

    success.i = 0

    ulid.s = "01GRH14AA82EY9A7S99YYF2QDY"

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

    ; Unix timestamps stored in ULIDs should be UTC...
    bLocal.i = 0
    ; Set the CkDateTime from the timestamp contained in the ULID
    success = CkDateTime::ckSetFromUlid(dt,bLocal,ulid)
    If success = 0
        Debug "ULID was not valid."
        CkDateTime::ckDispose(dt)
        ProcedureReturn
    EndIf

    ; You can now get the date/time in any desired format.
    ; For example:
    Debug "Unix timestamp = " + Str(CkDateTime::ckGetAsUnixTime(dt,bLocal))
    Debug "RFC822 = " + CkDateTime::ckGetAsRfc822(dt,bLocal)
    Debug "Timestamp = " + CkDateTime::ckGetAsTimestamp(dt,bLocal)

    ; Sample output:

    ; Unix timestamp = 1675608861
    ; RFC822 = Sun, 05 Feb 2023 14:54:21 GMT
    ; Timestamp = 2023-02-05T14:54:21Z


    CkDateTime::ckDispose(dt)


    ProcedureReturn
EndProcedure