使用PHP从时间戳减去6小时

时间:2011-06-18 03:03:55

标签: php mysql

我有这段代码来显示数据库中的日期和时间。如何修改它以从时间戳中减去6个小时。

date('m-d g:Ga', strtotime($row['time_stamp']))

3 个答案:

答案 0 :(得分:15)

UNIX时间戳是Epoch以来的秒数。只需减去六小时内的秒数:

date('m-d g:Ga', strtotime($row['time_stamp'])-21600)

您也可以再次使用strtotime

date('m-d g:Ga', strtotime('-6 hours', strtotime($row['time_stamp'])))

答案 1 :(得分:4)

因为它在MySQL中,你可以让MySQL为你做计算:

SELECT DATE_FORMAT('...', DATE_SUB(time_stamp, INTERVAL 6 HOUR)) ...

这将节省MySQL必须将其内部表示转换为完整字符串的开销,并且PHP的strtotime()的开销解析该字符串只是为了将其转换回另一个字符串。虽然strtotime有时是神奇的,但它绝对没有效率。

答案 2 :(得分:0)

$ vindate = date('H:i:s',strtotime($ row ['ms_attend_time'])+ 19800);          echo $ vindate;