-2

2 つの日付の比較に基づいて何らかのアクションを実行したいと考えています。日付 1 は Python 変数に格納されます。日付 2 は、select ステートメントでデータベースから取得されます。たとえば、レコード内の関連付けられた日付 (タイムスタンプの形式) が、python 変数で定義された日付より後のデータベースからいくつかのレコードを取得したいとします。できれば、タイムスタンプではなく、読み取り可能な日付形式で比較したいと思います。

私はpythonの初心者です。

----編集 ----- あいまいで申し訳ありません。これが私がやろうとしていることです:

import MySQLdb as mdb from datetime import datetime from datetime import date import time

conn = mdb.connect('localhost','root','root','my_db') cur = conn.cursor()

right_now = date.today()// python 日付

これは私が把握したい部分です

データベースには、タイムスタンプを持つテーブルがあります。そのタイムスタンプをこの日付と比較し、その比較に基づいてレコードを取得したいと考えています。たとえば、タイムスタンプがこの日付より前のすべてのレコードを取得したい cur.execute("SELECT created from node WHERE timestamp > right_now") results = cur.fetchall() for row in results: print row

4

2 に答える 2

1

まず、Date 1 (python 変数) は datetime オブジェクトだと思います。http://docs.python.org/2/library/datetime.html

私が使用した限りでは、SQL 型が datetime の場合、MySQLdb は (python) datetime オブジェクトの結果を返します。

したがって、実際には何もする必要はありません。日付 1 と日付 2 で Python の日時比較メソッドを使用できます。

于 2013-04-11T19:38:53.097 に答える
0

「比較をタイムスタンプではなく読み取り可能な日付形式にする」ことについて少し混乱しています。つまり、タイムスタンプは十分に読み取り可能ですよね?

Date 1 がタイムスタンプ データの場合は、単純に比較を行います。そうでない場合は、タイムスタンプに変換するか、データベースの日付を日付型に変換します。どちらの方法でも機能します。

比較を行うためのコードの書き方を尋ねている場合は、「_mysql」または sqlalchemy を使用すると役に立ちます。詳細な構文は、どこでも見つけることができます。

とにかく、質問自体がはっきりしていないので、答えもぼやけています。

于 2013-04-11T19:53:10.763 に答える