如果两个日期时间值为str / text格式,如何比较?

时间:2018-11-21 06:25:36

标签: python sql python-3.x sqlite

怪我设计不好。 我有datetime列数据类型作为文本。 现在,如果一个大于另一个,则需要比较(<)2个datetime值。 将异常作为“并非在格式化字符串时转换了所有参数”

这些值采用“ YYYY-MM-DD HH:MM:SS”格式

2 个答案:

答案 0 :(得分:0)

一种解决方案是使用pandas.to_datetime从字符串中获取Timestamp对象,对其进行比较要容易得多。示例:

import pandas as pd

date1 = pd.to_datetime("1991-01-20 05:00:00")
date2 = pd.to_datetime("2005-10-01 15:12:00")
print(date1 < date2) # True

答案 1 :(得分:0)

您可以使用time.mktime(parse(ts).timetuple()),其中'ts'是您的时间戳字符串。

例如:

>>> ts1 = datetime.datetime.now().strftime("%Y-%M-%d %I:%M:%S")
>>> ts2 = datetime.datetime.now().strftime("%Y-%M-%d %I:%M:%S")
>>>
>>> ts1
'2018-02-21 03:02:58'
>>> ts2
'2018-03-21 03:03:11'
>>>
>>> time.mktime(parse(ts1).timetuple())
1519162378.0
>>>
>>> time.mktime(parse(ts2).timetuple())
1521581591.0