我想了解为什么模块和类“datetime”不能一起工作。在下面的代码中,我有3种选择:
import datetime
film_name = input("What is the movie name ?")
Date = input("When it's up ?")
date_format = "%d/%m/%y"
d1 = datetime.datetime.strptime(Date, date_format)
d0 = datetime.date.today()
print(d0,d1)
delta = d1 - d0
print("Il reste {} dodos avant la sortie de {}".format(delta, film_name))
我尝试了很多事情,比如创建一些函数,然后创建一个类,什么都不做。如果有人能向我解释为什么或者给我另一种方法来做这件事
谢谢你的帮助,对不起我的英语,不是我的母语。如果你有任何问题,我在这里
#编辑:根据下面的建议,我尝试了: ''' 导入“从日期时间导入日期” d0=datetime.combine(date.today(),datetime.min.time()) '''
答案是:AttributeError:模块“datetime”没有属性“combine”
#编辑_2:如果我使用: ''' d0=datetime.datetime.combine(datetime.date.today(),datetime.datetime.min.time()) ''' 它几乎起作用了,我得到:
休息304天,0:00:00 dodos avant la sortie de Avatar
但我还能看到时间吗
#Edit3
如果您需要相关建议,请查看评论。正确答案是:
import datetime
film_name = input("What is the movie name ?")
Date = input("When it's up ?")
date_format = "%d/%m/%y"
d1 = datetime.datetime.strptime(Date, date_format)
d0 = datetime.datetime.combine(datetime.date.today(), datetime.datetime.min.time())
d2 = (d1 - d0).days
print("Il reste {} dodos avant la sortie de {}".format(d2, film_name))
您可以像这样从datetime模块导入类
或者使用模块本身
请参阅这里的答案:https://stackoverflow.com/a/1937636/9190640
datetime.date
是一个日期-例如,我写这篇文章时,它是2021年7月5日。datetime.datetime
是日期上的特定时间-例如2021年7月5日14:04你不能从一个} 或使用第三方库(如^{} ),则后者可能是最简单的选择
datetime
中减去一个date
,它们是不可比的。您可以在它们之间进行转换,例如使用datetime.combine()
从date
和time
创建一个datetime
,或者使用date()
实例方法从datetime
截断为date
。如果您希望继续使用strptime
来解析输入,而不是切换到^{您使用
combine()
编辑的尝试按预期工作。您已将输入日期修改为一个datetime
实例,因此,当您进行减法运算时,将得到一个timedelta
timedelta
的精度比天数更高-无论您是从输入创建datetime.date()
实例还是使用combine()
将当前日期转换为datetime()
,您都会看到类似的结果。您可以使用days
字段获取timedelta中的天数,丢弃小时/分钟相关问题 更多 >
编程相关推荐