正确解析ATOM源
我现在有一个Python脚本,使用feedparser来读取和解析一个信息源。不过,我最近遇到了一个关于日期解析的问题。我读取的信息源里有一段内容是<modified>2010-05-05T24:17:54Z</modified>,在Python中显示为一个日期时间对象——2010-05-06 00:17:54。注意到这个差异了吗?信息源里的修改时间是5月5日,而Python却把它读成了6日。
所以问题是,为什么会这样?是这个ATOM信息源(也就是创建这个信息源的人)把时间写成24:17:54错了,还是我的Python脚本在处理这个时间时出错了?
我能解决这个问题吗?
相关问题:
2 个回答
0
我觉得今天的24:17聪明地被理解为明天的00:17……我在想你们很好地处理了生产者的错误。
1
在这里的RFC文档中有一些有趣的特殊情况(https://www.rfc-editor.org/rfc/rfc3339),不过通常来说,主要是关于00:00:60和00:00:59的区别,这个是为了处理闰秒的问题。也许这种情况是合法的。我猜这可能是在做“正确的事情”。说实话,日期和时间的处理会变得非常复杂,因为有夏令时和本地时区的影响。如果显示的是24:17:54,可能这也是一种正确的表示方式。