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

3
使用FreePascal (FPC) 2.6.2,我想将从电子邮件消息中提取的时间戳字符串(使用Synapse IMAPsend从IMAP服务器检索)转换为DateTime值:
Date: Thu, 1 Aug 2013 20:07:43 -0400

根据我对StrToDateTime()TFormatSettings的了解,我没有看到直接实现此功能的方法。它们通常期望类似于1/8/2013 20:07:47这样的字符串,并具有类似于dd/mm/yyyyhh:mm:ss的格式,无法处理UTC偏移量。
我是否需要先切割和重新排列字符串并自己转换短月份名称和偏移量?

我不熟悉FreePascal,但是如果你在帮助文档中搜索'timestamp'、'timezone'或者'utc',难道就没有任何结果吗? - Jan Doggen
1个回答

8

如果你使用 Synapse,你可以在 synautil.pas 文件中找到 DecodeRfcDateTime 函数。使用这个函数可以实现你所需的功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接