1

私は、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

2 つの日付は、実際には同等ですが、それらの間にTrueaを挿入すると評価されません==datetime.datetime.strptime時間、分、秒を省略する方法はありますか? 最初の例 (私のデータベース) で使用されている形式に準拠したいと思います。ありがとう

4

1 に答える 1

5

datetimeaと aを比較しようとしてい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
于 2013-10-28T15:01:34.953 に答える