在Python中计算日期是过去、现在还是未来

9 投票
1 回答
14617 浏览
提问于 2025-04-16 03:42

我有两个日期/时间的字符串:

start_date = 10/2/2010 8:00:00  

end_date = 10/2/2010 8:59:00

我需要写一个函数来判断这个事件是发生在未来、过去,还是正在进行中。我看了不少文档,但就是觉得很难搞定。

我在Python中做时间计算的经验不多,所以任何帮助都非常感谢!

非常感谢!

1 个回答

19

在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这些问题可能是因为我们写的代码有bug,或者是使用的工具和环境不兼容。为了找到问题的根源,我们可以通过调试来一步步检查代码,看看哪里出了问题。

调试的过程就像是侦探破案,我们需要仔细观察每一行代码,找出可能导致错误的地方。我们可以使用一些工具来帮助我们,比如打印输出(print statements),这样可以在代码运行时查看变量的值,了解程序的运行情况。

另外,了解错误信息也很重要。错误信息通常会告诉我们出错的地方和原因,虽然有时候看起来很复杂,但仔细分析后会发现其中的线索。

总之,调试是一个重要的技能,能够帮助我们解决问题,让我们的代码更加稳定和可靠。

from datetime import datetime
start_date = "10/2/2010 8:00:00"
end_date = "10/2/2010 8:59:00"

# format of date/time strings; assuming dd/mm/yyyy
date_format = "%d/%m/%Y %H:%M:%S"

# create datetime objects from the strings
start = datetime.strptime(start_date, date_format)
end = datetime.strptime(end_date, date_format)
now = datetime.now()

if end < now:
    # event in past
elif start > now:
    # event in future
else:
    # event occuring now

撰写回答