【发布时间】:2012-12-05 22:02:34
【问题描述】:
我想以秒为单位计算时间差。我一直得到 0 作为结果,并想知道是否有人可以帮助我。时间将从数据库中提取。
这是我想要做的一个例子。
$TimeStart = "04:30:45 am";
$TimeEnd = "04:31:46 am";
$Difference = $TimeEnd - $TimeStart . "seconds";
我知道这不是一个非常有插图的例子,我知道它可能不是那么简单。
这是我网站上目前的代码:
$TimeStart = strtotime($VisitsRow['TimeStart']);
$TimeEnd = strtotime($VisitsRow['TimeEnd']);
$TimeDifference = ($TimeEnd - $TimeStart);
if ($VisitsRow['TimeEnd'] == "") {
$Timeto = "Incomplete";
} else {
if ($TimeDifference <= 60) {
$Timeto = "< a minute";
} else if ($TimeDifference <= 0) {
$Timeto = "< a second";
} else {
$Timeto = round($TimeDifference, 2)." seconds";
}
if ($TimeDifference >= 60) {
$MinutesDiff = $TimeDifference / 60;
$Timeto = round($MinutesDiff, 2)." minutes";
}
}
我只是尝试了上面我想要的示例并且得到了一个负数。这就是我需要帮助的原因。
【问题讨论】:
-
你考虑过使用 DateTime 类吗? php.net/manual/en/book.datetime.php
-
我也可以,但是当我添加 date($Start____) 时,它不会改变任何东西。当有分钟差异时,我得到一个负数或 0。
-
我使用了 DateTime 类,但它破坏了页面。
-
给定示例值,您的代码工作正常。当您“得到负数或 0”时,请告诉我们
$VisitsRow。 -
这是其中之一: 时间开始 15:30:30 pm 时间结束 15:36:59 pm 当我减去这两个时,我得到 -15。
标签: php mysql time subtraction