我正在开发基于程序的基本程序,该程序基于保存在文本文件中的时间戳。
我使用以下格式将时间/日期保存到文本文件中:
strftime("%Y/%m/%d %H:%M:%S",localtime())
稍后我会读取该文件,如果当前时间>时间戳+预设的增量(以分钟为单位)然后我将移动到脚本的下一部分。
我目前正在处理这个100%的问题,我编写了一个函数,将字符串和delta分成几分钟,几小时,几天,几个月和几年,并将它们加在一起。
我想知道有更快的方法吗? python是否提供了我错过的更简单的解决方案?
我没有附加当前时间和日期的格式,只要功能存在,我愿意以不同的方式对其进行格式化。
答案 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