Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Get Email Date/TimeDemonstrates getting the email "Date" header field in a CkDateTime object.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Email, DtObj, CkDateTime; ... procedure TForm1.Button1Click(Sender: TObject); var email: HCkEmail; success: Boolean; dtTime: HCkDateTime; bLocalTime: Boolean; unixTime: Integer; dtObj: HCkDtObj; begin email := CkEmail_Create(); // Load a .eml file into the email object. success := CkEmail_LoadEml(email,'/home/users/chilkat/eml/myEml.eml'); dtTime := CkEmail_GetDt(email); if (CkEmail_getLastMethodSuccess(email) = False) then begin Memo1.Lines.Add('Email has no Date header field.'); Exit; end; // Once we have the CkDateTime object, we can get the date/time in all sorts of formats: // Get as a RFC822 GMT string: bLocalTime := False; Memo1.Lines.Add(CkDateTime__getAsRfc822(dtTime,bLocalTime)); // Get as an RFC822 string in the local timezone. // (remember, the daylight savings that existed at the given time in the past is applied) bLocalTime := True; Memo1.Lines.Add(CkDateTime__getAsRfc822(dtTime,bLocalTime)); // 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). unixTime := CkDateTime_GetAsUnixTime(dtTime,bLocalTime); Memo1.Lines.Add('Unix time: ' + IntToStr(unixTime)); // 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: dtObj := CkDateTime_GetDtObj(dtTime,bLocalTime); if (CkDateTime_getLastMethodSuccess(dtTime) = False) then begin Memo1.Lines.Add('This should never really happen!'); Exit; end; Memo1.Lines.Add(IntToStr(CkDtObj_getDay(dtObj)) + '-' + IntToStr(CkDtObj_getMonth(dtObj)) + '-' + IntToStr(CkDtObj_getYear(dtObj)) + ' ' + IntToStr(CkDtObj_getHour(dtObj)) + ':' + IntToStr(CkDtObj_getMinute(dtObj)) + ':' + IntToStr(CkDtObj_getSecond(dtObj))); CkDtObj_Dispose(dtObj); CkDateTime_Dispose(dtTime); CkEmail_Dispose(email); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.