无法解析ARPA格式的1904日期(电子邮件日期)

2024-04-26 20:47:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个IMAP邮箱,在使用mxDateTime包解析日期时遇到问题。尤其是像“1904年1月1日星期五00:43:25-0400”这样的早期约会会带来麻烦:

>>> import mx.DateTime
>>> import mx.DateTime.ARPA
>>> mx.DateTime.ARPA.ParseDateTimeUTC("Fri, 1 Jan 1904 00:43:25 -0400").gmtoffset()
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
Error: cannot convert value to a time value
>>> mx.DateTime.ARPA.ParseDateTimeUTC("Thu, 1 Jan 2009 00:43:25 -0400").gmtoffset()
<mx.DateTime.DateTimeDelta object for '-08:00:00.00' at 1497b60>
>>> 

请注意,与2009年几乎相同的日期可以正常工作。我在mxDateTime中找不到任何关于日期限制的描述。你知道为什么会这样吗?在

泰铢

雷蒙


Tags: importmostdatetimevaluejan约会arpa邮箱
2条回答

在艾格尼克斯家族的帮助下解决了这个问题。这是一个Epoch问题,但您可以通过手动提取时区偏移量,然后显式重新应用来解决它:

>>> s = "Wed, 1 Jan 1969 00:43:25 -0400"
>>> delta = ParseDateTime(s) - ParseDateTimeUTC(s)
Traceback (most recent call last):
 File "<interactive input>", line 1, in <module>
 NameError: name 'ParseDateTime' is not defined
>>> delta = mx.DateTime.ARPA.ParseDateTime(s) - mx.DateTime.ARPA.ParseDateTimeUTC(s)
>>> mx.DateTime.ARPA.str(mx.DateTime.ARPA.ParseDateTime(s), delta)
'Wed, 01 Jan 1969 00:43:25 -0400'
>>>

谢谢大家!在

mxDateTime对象是否可能只处理the Unix Epoch之后的日期时间?在

相关问题 更多 >