Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 抵销日期及;时间结果为3小时_Php_Mysql - Fatal编程技术网

Php 抵销日期及;时间结果为3小时

Php 抵销日期及;时间结果为3小时,php,mysql,Php,Mysql,我有以下查询数据库的PHP代码: $result = mysqli_query($con,"SELECT * FROM `ur_destination` WHERE `destination_name` IN ($id)"); echo "<table class='datagrid'> <tr> <td>Start date & time GMT</td> <td>End date & time GMT</

我有以下查询数据库的PHP代码:

  $result = mysqli_query($con,"SELECT * FROM `ur_destination` WHERE `destination_name` IN ($id)");

echo "<table class='datagrid'>
<tr>
<td>Start date & time GMT</td>
<td>End date & time GMT</td>
</tr>
";

while($row = mysqli_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['active_period_start_time'] . "</td>";
  echo "<td>" . $row['active_period_end_time'] . "</td>";
  echo "</tr>";
  }
echo "</table>";
$result=mysqli\u query($con,“从$ur\u destination`WHERE`destination\u name`IN($id)”中选择*);
回声“
开始日期和时间GMT
结束日期和时间GMT
";
while($row=mysqli\u fetch\u数组($result))
{
回声“;
回显“$row['active_period_start_time'”;
回显“$row['active_period_end_time'”;
回声“;
}
回声“;
结果如下:2014-04-27 10:50:00 那么,如何在开始和结束时间的结果中添加+3小时的偏移量呢?
谢谢。

如果您有Datetime对象,您可以使用运算符计算日期

所以你可以说:

$datet = new \Datetime();
$datet->modify('+3 hours');
然后在
$datet
中有时间+3小时。也许您应该先读一读PHP中的日期函数

或者使用MySQL计算where子句中的字段

试试这个

{
  echo "<tr>";
  echo "<td>" . date("Y-m-d H:i:s",strtotime("+3 hours",strtotime($row['active_period_start_time']))) . "</td>";
  echo "<td>" . date("Y-m-d H:i:s",strtotime("+3 hours",strtotime($row['active_period_end_time']))). "</td>";
  echo "</tr>";
}
{
回声“;
echo.“.日期(“Y-m-d H:i:s”,标准时间(“+3小时”),标准时间($row['active\u period\u start\u time')))”;
echo.“.日期(“Y-m-d H:i:s”,标准时间(“+3小时”),标准时间($row['active\u period\u end\u time')))”;
回声“;
}

使用PHP DateTime类。基于行结果创建一个DateTIme,添加三个HPUR并回显DateTIme对象为什么不直接将其添加到查询中?您总是希望在时间中添加一些小时数,还是希望时间是特定时区内的适当时间?两者并不总是一样的。是的,我只想在时间结果上加上3个小时。我无法修改数据库,因此如果可能的话,我只需要处理结果。在sql中,您可以执行
active\u period\u start\u time+INTERVAL 3 HOUR
,这会导致语法错误:解析错误:语法错误,意外“;”这是第一个用strottime的。如果我移除了;从最后开始,错误变得更加奇怪,比如“T_ECHO”我更新了我的答案,现在缺少一个括号复制粘贴我的代码并检查