时间戳差异,当前时间减去时间戳

时间:2016-09-15 22:15:52

标签: php mysql

我在获取时间戳方面遇到了麻烦。

我有一个带有时间戳的表(类型是日期时间)。 我希望我的查询输出与当前时间的差异 - 时间戳。

我已尝试使用timediff()类进行各种查询。但出于一些奇怪的原因 我得到的差异是将来8个小时左右。

我的表格设置如下

Table A
*--------------------------------*
| PK | Item | TimeStamp          |
|  1 | Apple| 2016-09-15 03:21:59|
*--------------------------------*

我希望区别输出:

Output Table 
*--------------------------------*
| Item |      TimeStamp          |
| Apple|    0Days 18Hrs 45Min    |
*--------------------------------*

我引用了其他一些问题,但似乎对我没用。

喜欢这些:

Converting epoch number to human readable date in mysql

Is timestampdiff() in MySQL equivalent to datediff() in SQL Server?

我尝试使用函数获取此结果,并将两次设置为变量。

1 个答案:

答案 0 :(得分:0)

我能够通过设置变量获得我想要的结果:

date_default_timezone_set ("America/Chicago");
$timenow = new DateTime(date("Y-m-d H:i:s"), new DateTimeZone("America/Chicago"));
while($row = mysqli_fetch_assoc($ticket)) {
    $tickettime         = new DateTime($row['ticketopen'], new DateTimeZone("America/Chicago"));
    $sincestart         = $tickettime->diff($timenow);
    $hours              = (int)$sincestart->h;
    $ticket_time        = strval($hours-12)." Hrs ".$sincestart->i." Min ";

不确定这是否是最好的方法,但它给了我想要的结果。希望这可以帮助别人。

另外,我必须减去12小时才能获得正确的小时差异。