我想用秒来计算时间上的差异。我一直得到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";
}
}
我只是尝试了上面我想要的例子并得到一个负数。这就是我需要帮助的原因。
答案 0 :(得分:1)
谢谢大家帮我解决这个问题。我的问题是它以24小时格式收集时间而不是标准。一旦我解决了这一切,一切都很完美
答案 1 :(得分:0)
使用strtotime
非常容易:
$TimeStart = strtotime("04:30:45");
$TimeEnd = strtotime("04:31:46");
$Difference = ($TimeEnd - $TimeStart) . " seconds";
但是,如果你需要它通过SQL更加动态,你可以用这个减去两个日期字段:
SELECT TIMESTAMPDIFF(MINUTE,TimeEnd,TimeStart) AS TimeDifference FROM myTable
(注意,如果需要,可以将MINUTE
更改为其他时间指标)