dateutil.parser.parse.timestamp给旧日期一个更大的整数

时间:2017-08-21 17:06:50

标签: python-3.x datetime python-dateutil datetime-parsing

我有一些python代码给了我一些我真的不明白的东西。这是我的一些代码。

fe=datetime.strptime(b, "%m/%d/%Y").strftime("%d/%m/%Y")
fecha=dateutil.parser.parse(fe).timestamp() 

其中b是美国/英国格式的字符串,其中包含04/19/2017之前的月份,第一行返回与10/04/2017相同的日期,然后是第二行代码返回一个数字。

我完全不理解为什么10 th 的日期大于19 th 的日期。对于第10天,我得到1507068000.0,而对于第19天,我得到1492552800.0

我错过了什么吗?我认为这是一个转换,所以最近的日期比旧的日期更大。

1 个答案:

答案 0 :(得分:1)

parse的默认值为dayfirst=False。如果您设置dayfirst=True,那么时间戳将被正确排序。

>>> parse('19/04/2017').timestamp()
1492574400.0
>>> parse('10/04/2017').timestamp()
1507089600.0
>>> parse('19/04/2017', dayfirst=True).timestamp()
1492574400.0
>>> parse('10/04/2017', dayfirst=True).timestamp()
1491796800.0