-1

我有一个由程序 (python) 创建的数据库。我必须更改包含时间值的列。该列在创建数据库时为空,我的程序要求用户提供一个用于 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 回答