如何将字符串转换为时间戳以进行比较?

时间:2018-09-17 15:26:15

标签: python string

我有这样的字符串:

first = '2018-09-16 15:00:00'

second = '1900-01-01 09:45:55.500597'

我想比较一下。

我发现所有类似于Convert string date to timestamp in Python的方法都需要知道字符串的格式。

我不知道字符串的格式(请参阅firstsecond之间的区别),我所知道的只是它们可以转换为时间戳。

我如何转换它们以进行比较?

编辑: 我可以得到的“最大”字符串是:

1900-01-01 09:45:55.500597

但是我也可以得到:

1900-01-01
1900-01-01 09:45
1900-01-01 09:45:55

等等。

总是YYYY-MM-DD HH-MM....

2 个答案:

答案 0 :(得分:2)

您可以使用dateutil模块(pip install python-dateutil):

>>> from dateutil.parser import parse
>>> parse('2018-09-16 15:00:00')
datetime.datetime(2018, 9, 16, 15, 0)
>>> parse('1900-01-01 09:45:55.500597')
datetime.datetime(1900, 1, 1, 9, 45, 55, 500597)

从其features的列表中:

  

几乎任何字符串格式的日期的通用解析;

一旦有了datetime个对象,就可以直接比较它们,而无需计算时间戳。

答案 1 :(得分:1)

您可以使用pandas.to_datetime。它在字符串时间戳格式上提供了很大的灵活性,您可以在单个字符串或时间戳的列表/系列/元组上使用它。

void *