0

我试图从用户那里得到一个日期和一个小时。

date = raw_input("enter date (example: 25/12/1990) ")
hour = raw_input("enter hour (example: 20:00) ")

我就是这样做的,但我认为这不是实现它的好方法。
输入后,我想将输入的时间与当前时间以及其他时间进行比较。
我计划使用timepython的模块。

你有什么建议?

4

2 回答 2

1

以上为您提供了一个日期作为字符串。您需要将该字符串转换为日期时间对象,并处理出现的任何错误。如果您将用户限制为简单的日期,那么您可以使用 datetime 模块执行所有操作,如下所示:

>>> import datetime
>>> date = "15/03/2012"
>>> datetime.datetime.strptime(date, "%d/%m/%Y")
datetime.datetime(2012, 3, 15, 0, 0)
>>> hour = "13:01"
>>> datetime.datetime.strptime(hour, "%H:%M")
datetime.datetime(1900, 1, 1, 13, 1)
>>> datetime.datetime.strptime(date + " " + hour, "%d/%m/%Y %H:%M")
datetime.datetime(2012, 3, 15, 13, 1)

>>> date = "1/4/2012"
>>> hour = "3:01"
>>> datetime.datetime.strptime(date + " " + hour, "%d/%m/%Y %H:%M")
datetime.datetime(2012, 4, 1, 3, 1)

您可以使用其他日期时间模块代码来执行诸如获取当前日期和时间之类的操作,或者查找两个日期或时间之间的差异。

于 2012-11-30T21:35:36.293 回答
0

我见过的最好的解决方案之一 - dateutil包,他们有解析器模块parse(),试图从字符串中提取日期/时间。看这里的例子。

于 2012-11-30T21:27:25.923 回答