我有这段代码来显示数据库中的日期和时间。如何修改它以从时间戳中减去6个小时。
date('m-d g:Ga', strtotime($row['time_stamp']))
答案 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;