等同python日期时间

时间:2013-10-28 14:58:37

标签: python datetime strptime

我正在使用一些略有不同风格的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省略小时,分钟,秒?我想要符合第一个例子(我的数据库)中使用的格式。感谢

1 个答案:

答案 0 :(得分:5)

您正在尝试比较datetimedate。要比较它们,只需:

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