2013-02-22 114 views
3

在我的Mysql表中我有一个时间戳字段。 在我的PHP页面我表现出这样在php中添加1小时的mysql时间戳

echo date("d-m-Y H:i:s", strtotime($row['data'])); 

现在在我的PHP我想对我的日期加1小时的记录($行[数据])。 我该怎么做? 感谢

回答

9
echo date("d-m-Y H:i:s", strtotime($row['data'])+3600); 

请注意,您不能在 “d-M-Y” 格式的比较导致日期。

要么比较strtotime结果或初始日期。或者先将结果格式化为适当的格式。

+0

谢谢,但现在我发现,我有另外一个问题。如果我比较$ date1和$ date2(date1 +3600),结果是错误的。你可以告诉我为什么? '$ date1> $ date2'返回TRUE!谢谢 – 2013-02-22 14:27:17

+0

非常感谢大家! – 2013-02-22 14:34:31

0

尝试用:

strtotime($row['data'] . ' +1 hour') 
0
echo date("d-m-Y H:i:s", strtotime($row['data']) + 3600); 

只需手动添加时间(3600秒= 1小时)。

0

加3600秒,你会没事的。

echo date("d-m-Y H:i:s", strtotime($row['data'])+3600); 
0
  echo date("d-m-Y H:i:s", strtotime($row['data'].' +1 hour')); 
2

你可以在MySQL做直线距离:

SELECT `date` + INTERVAL 1 HOUR AS `date` 
FROM ... 
+0

谢谢你的解决方案 – 2013-02-22 14:36:52

+0

@PaoloRossi在SO上表示感谢是通过upvoting回答:) – 2013-02-22 14:38:07