Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在PostgreSQL中使用INTERVAL添加小时日期/时间_Php_Html_Database_Postgresql_Datetime - Fatal编程技术网

Php 在PostgreSQL中使用INTERVAL添加小时日期/时间

Php 在PostgreSQL中使用INTERVAL添加小时日期/时间,php,html,database,postgresql,datetime,Php,Html,Database,Postgresql,Datetime,以下是我尝试运行的PostgreSQL中的代码: select DATE_ADD(whenbooked,INTERVAL 4 HOUR) from booking WHERE id = 12310; 或者我尝试运行以下代码: select DATE_ADD('2010-11-19 01:11:22',INTERVAL 4 HOUR) 两个代码访问日期/时间的存储方式相同: 2010-11-19 01:11:22 PostgreSQL错误代码如下: 错误:“4”处或附近出现语法错误 它是指“间

以下是我尝试运行的PostgreSQL中的代码:

select DATE_ADD(whenbooked,INTERVAL 4 HOUR) from booking WHERE id = 12310;
或者我尝试运行以下代码:

select DATE_ADD('2010-11-19 01:11:22',INTERVAL 4 HOUR)
两个代码访问日期/时间的存储方式相同:

2010-11-19 01:11:22

PostgreSQL错误代码如下:

错误:“4”处或附近出现语法错误

它是指“间隔4小时”行中的“4”

我想不出问题出在哪里

我需要将时间/戳记(以与上面完全相同的格式编写)与存储的时间/日期加上4小时进行比较。 因此,期望的最终结果是返回:
'2010-11-19 05:11:22'


如果可以在PHP中或直接在SQL中执行此操作?

我发现了一种在PHP中适用的方法:

$desiredEndTime = strtotime("2010-11-19 01:11:22 + 10 hours");
echo date("Y-m-d H:i:s", $desiredendtime);
看起来它将日期/时间转换为一个奇怪的整数。然后在第二行,它将其转换回我想要的格式。现在我可以将其插入到SQL中


谢谢

我在PHP中找到了一个适合我的方法:

$desiredEndTime = strtotime("2010-11-19 01:11:22 + 10 hours");
echo date("Y-m-d H:i:s", $desiredendtime);
看起来它将日期/时间转换为一个奇怪的整数。然后在第二行,它将其转换回我想要的格式。现在我可以将其插入到SQL中

谢谢

根据您的评论


我只是将这些代码输入到PgAdmin中。

看起来您实际上使用的是PostgreSQL而不是MySQL

您可以在PostgreSQL上查看运行在PostgreSQL上的现有代码,这会产生与上面相同的错误

要正确使用PostgreSQL中的日期,可以在PostgreSQL上查看日期函数列表

你要做的是:

SELECT TIMESTAMP '2010-11-19 01:11:22' + INTERVAL '4 HOURS';
根据你的评论


我只是将这些代码输入到PgAdmin中。

看起来您实际上使用的是PostgreSQL而不是MySQL

您可以在PostgreSQL上查看运行在PostgreSQL上的现有代码,这会产生与上面相同的错误

要正确使用PostgreSQL中的日期,可以在PostgreSQL上查看日期函数列表

你要做的是:

SELECT TIMESTAMP '2010-11-19 01:11:22' + INTERVAL '4 HOURS';

使用“strotime”方法将其简单地转换为时间戳,然后您可以使用该方法执行任何您喜欢的操作

使用“strotime”方法将其简单地转换为时间戳,然后您可以使用该方法执行任何您喜欢的操作

您可以使用php代码显示它吗?我想那里一定有一些报价问题。
select DATE\u ADD('2010-11-19 01:11:22',间隔4小时)
对我有效…
select DATE\u ADD('2010-11-19 01:11:22',间隔4小时)
对我有效,我只是在PgAdmin中键入这些代码。它直接运行sql代码…………我从php网站上得到的。我想没有理由不起作用。在这种情况下,它不适合我的可能原因是什么?您使用哪个版本的mysql?您能用php代码显示它吗?我想那里一定有一些报价问题。
select DATE\u ADD('2010-11-19 01:11:22',间隔4小时)
对我有效…
select DATE\u ADD('2010-11-19 01:11:22',间隔4小时)
对我有效,我只是在PgAdmin中键入这些代码。它直接运行sql代码…………我从php网站上得到的。我想没有理由不起作用。那么,,它不适用于我的可能原因是什么?您使用的是哪个版本的mysql?我添加了一个答案,解释了为什么它不适用于纯SQL,包括一个修复。我添加了一个答案,解释了为什么它不适用于纯SQL,包括一个修复。非常感谢您的解释和提供的答案工作!:D感谢您对此进行了解释,并提供了一个有效的答案!:D