Sample code for 30+ languages & platforms
DataFlex

Get Email Date/Time

Demonstrates getting the email "Date" header field in a CkDateTime object.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoEmail
    Handle hoDtTime
    Boolean iBLocalTime
    Integer iUnixTime
    Variant vDtObj
    Handle hoDtObj
    String sTemp1
    Integer iTemp1
    Integer iTemp2
    Integer iTemp3
    Integer iTemp4
    Integer iTemp5
    Integer iTemp6
    Boolean bTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End

    // Load a .eml file into the email object.
    Get ComLoadEml Of hoEmail "/home/users/chilkat/eml/myEml.eml" To iSuccess

    Get Create (RefClass(cComCkDateTime)) To hoDtTime
    If (Not(IsComObjectCreated(hoDtTime))) Begin
        Send CreateComObject of hoDtTime
    End
    Get ComEmailDateStr Of hoEmail To sTemp1
    Get ComSetFromRfc822 Of hoDtTime sTemp1 To iSuccess

    // Once we have the CkDateTime object, we can get the date/time in many different formats:

    // Get as a RFC822 GMT string:
    Move False To iBLocalTime
    Get ComGetAsRfc822 Of hoDtTime iBLocalTime To sTemp1
    Showln sTemp1

    // Get as an RFC822 string in the local timezone.
    // (remember, the daylight savings that existed at the given time in the past is applied)
    Move True To iBLocalTime
    Get ComGetAsRfc822 Of hoDtTime iBLocalTime To sTemp1
    Showln sTemp1

    // Get as a 32-bit UNIX time (local or GMT..)
    // The Unix time is number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC). 
    Get ComGetAsUnixTime Of hoDtTime iBLocalTime To iUnixTime
    Showln "Unix time: " iUnixTime

    // One can also get the as a "DtObj" object for accessing the individual
    // parts of the date/time, such as month, day, year, hour, minute, etc.
    // The DtObj can be obtained in the GMT or local timezone:
    Get Create (RefClass(cComChilkatDtObj)) To hoDtObj
    If (Not(IsComObjectCreated(hoDtObj))) Begin
        Send CreateComObject of hoDtObj
    End
    Get pvComObject of hoDtObj to vDtObj
    Send ComToDtObj To hoDtTime iBLocalTime vDtObj

    Get ComLastMethodSuccess Of hoDtTime To bTemp1
    If (bTemp1 = False) Begin
        Showln "This should never really happen!"
        Procedure_Return
    End

    Get ComDay Of hoDtObj To iTemp1
    Get ComMonth Of hoDtObj To iTemp2
    Get ComYear Of hoDtObj To iTemp3
    Get ComHour Of hoDtObj To iTemp4
    Get ComMinute Of hoDtObj To iTemp5
    Get ComSecond Of hoDtObj To iTemp6
    Showln iTemp1 "-" iTemp2 "-" iTemp3 " " iTemp4 ":" iTemp5 ":" iTemp6


End_Procedure