-1

プログラム (python) によって作成されたデータベースがあります。時間値を含む列を変更する必要があります。データベースの作成時に列が空で、私のプログラムは 2 つの列で使用される日付をユーザーに要求します。1 つ目は開始時刻を指定し、2 つ目は終了時刻を指定します。終了時刻が開始時刻より 30 日後です。

ここで私の問題:コードの開始時刻に30日を追加するにはどうすればよいですか?

4

3 に答える 3

1

Python にはdatetime.timedelta、たとえば次のようなものがあります。

from datetime import datetime, timedelta

now = datetime.now()
nowand30 = now + timedelta(days=30)

SQL では、次のことができます。

DATE(some_date_val + 30 days) 

また:

some_date_val + interval '30 days'
于 2012-07-19T09:42:30.393 に答える
0

私はこれを試しませんでしたが、ドキュメントには次のように書かれています:

date '2001-09-28' + integer '7'

http://www.postgresql.org/docs/current/interactive/functions-datetime.html

于 2012-07-19T09:41:21.977 に答える
0

単純に日付に 30 を追加します。

update the_table
   set start_time = start_time + 30;

または、より明示的にしたい場合:

update the_table
   set start_time = start_time + interval '30' day;

同じ方法で別のユニットを追加できます:

update the_table
   set start_time = start_time + interval '30' minute;

(start_time がタイムスタンプ列であると仮定)

于 2012-07-19T09:44:10.423 に答える