Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    String sUlid
    Handle hoDt
    Boolean iBLocal
    String sTemp1
    Integer iTemp1

    Move False To iSuccess

    Move "01GRH14AA82EY9A7S99YYF2QDY" To sUlid

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

    // Unix timestamps stored in ULIDs should be UTC...
    Move False To iBLocal
    // Set the CkDateTime from the timestamp contained in the ULID
    Get ComSetFromUlid Of hoDt iBLocal sUlid To iSuccess
    If (iSuccess = False) Begin
        Showln "ULID was not valid."
        Procedure_Return
    End

    // You can now get the date/time in any desired format.
    // For example:
    Get ComGetAsUnixTime Of hoDt iBLocal To iTemp1
    Showln "Unix timestamp = " iTemp1
    Get ComGetAsRfc822 Of hoDt iBLocal To sTemp1
    Showln "RFC822 = " sTemp1
    Get ComGetAsTimestamp Of hoDt iBLocal To sTemp1
    Showln "Timestamp = " sTemp1

    // Sample output:

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


End_Procedure