如何将字符串 'Jan 23 2016 10:30:08AM' 或字符串 '23/01/2016 10:30:08' 转换为 python 中的纪元时间?

how to convert string 'Jan 23 2016 10:30:08AM' or string '23/01/2016 10:30:08' to epoch time in python?

我想比较 2 次,包括日期。 例如 : 'Jan 23 2016 4:16:09PM' 和 'Jan 24 2016 9:43:44PM'

我认为最简单最好的方法是按纪元转换并比较。 (如果有比这更好的方法请告诉我)

我试过这个:

from dateutil.parser import parse
import datetime

timer = 'Jan 23 2016 10:30:08AM'
d = parse(timer).strftime('%Y,%m,%d,%H,%M,%S')

>>> d
'2016,01,23,10,30,08'

但它是一个字符串,我无法传递这个值 datetime.datetime(d) 我也试过 strip() 。但是没用。

datetime.datetime(d.strip())

TypeError: an integer is required (got type str)

请帮忙

  1. 已经解析 returns datetime 个对象。 .strftime 将日期时间对象转换为字符串,因此它不起作用。

  2. datetime 对象已经是可比较的,你不必将它们转换为纪元:

>>> from dateutil.parser import parse
>>> d1 = parse("Jan 23 2016 4:16:09PM")
>>> d2 = parse("Jan 24 2016 9:43:44PM")
>>> d1
datetime.datetime(2016, 1, 23, 16, 16, 9)
>>> d2
datetime.datetime(2016, 1, 24, 21, 43, 44)
>>> d1 > d2
False
>>> d1 == d2
False
>>> d1 < d2
True