如何比较字符串形式的时间/日期?

时间:2017-06-02 19:38:18

标签: python date datetime

我正在开发基于程序的基本程序,该程序基于保存在文本文件中的时间戳。

我使用以下格式将时间/日期保存到文本文件中:

strftime("%Y/%m/%d %H:%M:%S",localtime())

稍后我会读取该文件,如果当前时间>时间戳+预设的增量(以分钟为单位)然后我将移动到脚本的下一部分。

我目前正在处理这个100%的问题,我编写了一个函数,将字符串和delta分成几分钟,几小时,几天,几个月和几年,并将它们加在一起。

我想知道有更快的方法吗? python是否提供了我错过的更简单的解决方案?

我没有附加当前时间和日期的格式,只要功能存在,我愿意以不同的方式对其进行格式化。

1 个答案:

答案 0 :(得分:1)

strftime将字符串转换为datetime对象 - strptime,所以在你的情况下你可以这样做:

    from datetime import datetime, timedelta
    date_from_file = datetime.strptime(string_from_file, "%Y/%m/%d %H:%M:%S")

另外,请注意我还导入了“timedelta”,您可以这样使用:

    if datetime.now() > date_from_file + timedelta(hours=3):
        do_something()

将检查当前时间是否大于文件中时间后3小时的时间。当然你可以改变

    timedelta(hours=3)

    timedelta(minutes=15)

或者你需要的任何其他东西......

如果您还需要更多内容,我建议您更多地了解timedelta:https://docs.python.org/2/library/datetime.html