在Delphi/FreePascal中解析电子邮件时间戳

Red*_*ick 3 delphi datetime freepascal

使用FreePascal(FPC)2.6.2我想将一些时间戳字符串从电子邮件消息转换为DateTime值(使用Synapse从IMAP服务器检索IMAPsend):

Date: Thu, 1 Aug 2013 20:07:43 -0400
Run Code Online (Sandbox Code Playgroud)

从我读过的StrToDateTime()TFormatSettings,我没有看到一个办法直接做到这一点.他们通常期望1/8/2013 20:07:47类似于dd/mm/yyyy&等格式的字符串,hh:mm:ss并且无法处理UTC偏移.

我是否有必要首先切断并重新排列字符串并进行我自己的短月份名称和补偿的转换?

Sim*_*aWB 8

如果你使用Synapse; 在synautil.pas文件中,您可以找到DecodeRfcDateTime函数.有了这个功能,你可以做你想要的.