错误的Python日期计算。

时间:2014-08-21 16:25:56

标签: python r hadoop

我试图比较R的日期和Python的日期。由于R默认使用1970-01-01为其" delta-day"。所以我也试过" 1970-01-01"对于Python" deltatime"。

在R中,2011-01-01将返回14975,2011-10-26则返回15273。 但Python返回14975和15000。

以下是我在Python控制台上输入的内容。我真的不明白结果。 有什么建议?我使用的是Python 2.6(Hadoop的内置版本)

>>> (datetime.strptime("2011-01-01", '%Y-%M-%d').date() - datetime.strptime("1970-01-01", '%Y-%M-%d').date()).days
14975
>>> (datetime.strptime("2011-10-26", '%Y-%M-%d').date() - datetime.strptime("1970-01-01", '%Y-%M-%d').date()).days
15000
>>>

1 个答案:

答案 0 :(得分:1)

我可以推荐python-dateutil解析器来避免这些烦人的旅行吗

>>> from dateutil.parser import parse
>>> parse("2011-10-26")
datetime.datetime(2011, 10, 26, 0, 0)