首页 > 解决方案 > 如果它们是 str/text 格式,如何比较 2 个日期时间值?

问题描述

归咎于我糟糕的设计。我将日期时间的列数据类型作为文本。现在,如果一个大于另一个,我需要比较 (<) 2 个日期时间值。将异常作为“在字符串格式化期间并非所有参数都转换”

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

标签: pythonsqlpython-3.xsqlite

解决方案


您可以使用time.mktime(parse(ts).timetuple()) where '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

推荐阅读