我正在使用一些略有不同风格的python日期时间。问题是,我希望能够将它们等同起来,我无法做到。从数据库中,我得到的日期时间格式为:
datetime.date(2010, 11, 15)
返回时,输出:
2010-11-15
但是,在我的结尾,我需要将csv文件中的某些日期转换为日期时间。我是通过使用datetime.datetime.strptime
包来实现的。所以,我的代码看起来像这样:
date = '11/15/2010' #The format in the CSV file
date = date.replace('/', ' ')
date2 = datetime.datetime.strptime(date, '%m %d %Y')
但是,date2在打印时输出:
2010-11-15 00:00:00
这两个日期虽然实际上是相同的,但当我在它们之间抛出True
时,它不会评估为==
。有没有办法使用datetime.datetime.strptime
省略小时,分钟,秒?我想要符合第一个例子(我的数据库)中使用的格式。感谢
答案 0 :(得分:5)
您正在尝试比较datetime
和date
。要比较它们,只需:
date2.date() == datetime.date(2010,11,15)
你应该没事。
更多背景信息:
In [1]: import datetime
In [2]: datetime.date.today()
Out[2]: datetime.date(2013, 10, 28)
In [3]: datetime.datetime.now()
Out[3]: datetime.datetime(2013, 10, 28, 11, 5, 43, 997651)
In [4]: datetime.datetime.now() == datetime.date.today()
Out[4]: False
In [5]: datetime.datetime.now().date() == datetime.date.today()
Out[5]: True