我在获取时间戳差异时遇到了问题。
我有一个带有时间戳的表(类型是datetime)。我希望我的查询输出与当前时间戳的差值。
我尝试过使用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?
我正在尝试使用一个函数来获得这个结果,并将两次都设置为变量。
发布于 2016-09-16 07:20:10
我可以通过设置变量得到我想要的结果:
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个小时才能得到正确的时差。
https://stackoverflow.com/questions/39521133
复制相似问题