短日期格式仍然有时间
Short date format still has time
我在编写 python 脚本时遇到约会问题。为什么这是错误的?我不明白为什么 00:00:00
仍然存在,即使我只明确要求了日、月、年?
date1 = datetime.strptime('22 Dec 2016', '%d %b %Y') <-- 2016-12-12 00:00:00
date2 = datetime.today().date()
print(date1==date2) # False
您正在比较一个 datetime
对象和一个 date
对象; datetime.strptime()
总是 产生一个 datetime
实例;即使时间设置为午夜,仍然是日期和时间组合。
要仅比较 日期,您需要明确地这样做。
任一:
date1.date() == date2 # extract the date, compare to the other date
或
from datetime import time
# compare the datetime to another datetime with midnight
date1 == datetime.combine(date2, time.min)
首先你检查方向错误。这里比较发生在日期时间和日期之间。将日期与日期进行比较,然后它提供 TRUE。 00:00:00 仍然存在,因为 datetime 总是有与之关联的时间,所以这里保持 00:00:00 因为没有提供时间.
date1 = datetime.strptime('22 Dec 2016', '%d %b %Y') <-- 2016-12-12 00:00:00
date2 = datetime.today().date()
print(date1==date2)
False
print(date1.date()==date2)
True
我在编写 python 脚本时遇到约会问题。为什么这是错误的?我不明白为什么 00:00:00
仍然存在,即使我只明确要求了日、月、年?
date1 = datetime.strptime('22 Dec 2016', '%d %b %Y') <-- 2016-12-12 00:00:00
date2 = datetime.today().date()
print(date1==date2) # False
您正在比较一个 datetime
对象和一个 date
对象; datetime.strptime()
总是 产生一个 datetime
实例;即使时间设置为午夜,仍然是日期和时间组合。
要仅比较 日期,您需要明确地这样做。
任一:
date1.date() == date2 # extract the date, compare to the other date
或
from datetime import time
# compare the datetime to another datetime with midnight
date1 == datetime.combine(date2, time.min)
首先你检查方向错误。这里比较发生在日期时间和日期之间。将日期与日期进行比较,然后它提供 TRUE。 00:00:00 仍然存在,因为 datetime 总是有与之关联的时间,所以这里保持 00:00:00 因为没有提供时间.
date1 = datetime.strptime('22 Dec 2016', '%d %b %Y') <-- 2016-12-12 00:00:00
date2 = datetime.today().date()
print(date1==date2)
False
print(date1.date()==date2)
True