PHP数据库中的日期作为时间戳 - 添加X小时

时间:2014-04-25 09:36:26

标签: php mysql database date timestamp

我用谷歌搜索了,我放弃了,这里是......

我一直遇到处理时间/时间戳等的问题,我试图以SQL TIMESTAMP格式从我的数据库中提取日期,这是我到目前为止的...

 $db = $row_rsSearch['created_date'];
 $newdate =  date("d/m/Y H:i:s", strtotime('+3 hours', $db));

它出了什么问题?当数据库提供时,我得到了“31/12/1969 20:33:34”的回报... 2014-04-25 02:19:53

提前致谢。

5 个答案:

答案 0 :(得分:2)

如果我做得对,你想在每个日期增加3个小时?

为什么不在查询中执行此操作?

示例:

SELECT `date` + INTERVAL 3 HOUR AS created_date FROM `TABLE`

答案 1 :(得分:1)

使用DateTime::createFromFormatDateTime::add

$date = DateTime::createFromFormat('Y-m-d H:i:s', '2014-04-25 02:19:53');
$date->add(new DateInterval('PT3H'));

echo $date->format("d/m/Y H:i:s");

答案 2 :(得分:0)

strtotime在您使用它来计算新时间戳时需要一个时间戳。 在你的情况下:

$newdate =  date("d/m/Y H:i:s", strtotime('+3 hours', strtotime($db)));

答案 3 :(得分:0)

太好了,谢谢!

对于其他用户,这是我已完成的代码(已添加8小时)

  $db = $row_rsSearch['created_date'];
  $date = DateTime::createFromFormat('Y-m-d H:i:s', $db);
  $date->add(new DateInterval('PT8H')); 

答案 4 :(得分:0)

也可以试试这个:

$db = $row_rsSearch['created_date'];
$newdate =  date("d/m/Y H:i:s", strtotime($db.'+3 hours'));