【问题标题】:sql increase time shown显示的sql增加时间
【发布时间】:2016-12-24 15:20:20
【问题描述】:

我有一个脚本,可以在我的 mysql 数据库中添加带有日期/时间戳的内容。我无法更改输入日期/时间。

我希望在查询我的 mysql 数据库时更改日期时间。

我的数据库中的单元格:2016-08-17 17:34:29

它需要是:2016-08-17 19:34:29(所以在向访问者显示的 php 页面中 +02:00 小时)

我无法更新数据库中的时间,因为其他应用程序依赖于当前格式的数据。

提前致谢!

现在网站编码:

<?PHP
//make connection
mysql_connect('localhost','user','pass');

//select db
mysql_select_db('database');

?>
<html>
    <head>
    <title>Title</title>
    </head>
<body>
<table>
<tr>
<th>id</th>
<th>disappear_time</th>
</tr>
<?php
$query_150="
SELECT * FROM `table` 
WHERE `disappear_time` > SUBDATE( CURRENT_TIMESTAMP, INTERVAL 2 HOUR)
AND `id` = 150
ORDER BY `disappear_time` DESC";
$150 = mysql_query($query_150) or die(mysql_error());
while($row_150 = mysql_fetch_assoc($query_150)){
  //handle rows.
    echo "<tr>";
    echo "<td>".$row_150['id']."</td>";
    echo "<td>".$row_150['disappear_time']."</td>";
    echo "</tr>";}
?>
</table>
</body>
</html>

【问题讨论】:

  • 您是否尝试在 SELECT 语句中为 disappear_time 添加 2 小时?
  • 最好的方法是什么?
  • disappear_time 是否包含您需要添加 2 小时并显示给用户的日期时间?
  • 是的,就是表格中的列。
  • 那么为什么不使用SELECT id, DATE_ADD(disappear_time, INTERVAL 2 HOUR) AS disappear_time 而不是SELECT *?这样,您就可以在结果集中的日期显示在网站上之前对其进行修改,并且不会更改数据库中的日期时间。

标签: php mysql sql time timezone


【解决方案1】:

我修好了!答案是:

SELECT id2, DATE_ADD(disappear_time, INTERVAL 2 HOUR) AS disappear_time FROM `table` 
WHERE `disappear_time` > SUBDATE( CURRENT_TIMESTAMP, INTERVAL 2 HOUR)
AND `id` = 147
ORDER BY `disappear_time` ASC";

【讨论】:

    猜你喜欢
    • 2012-12-05
    • 2012-08-14
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2019-07-13
    • 1970-01-01
    相关资源
    最近更新 更多