【发布时间】: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