我想将dateDiff转换为查询时间后转换DateTime,将当前时间转换为秒。我怎么做?我现在把它当作hh:mm:ss。
$row = mysqli_fetch_array($sql, MYSQL_ASSOC);
$statusTime = $row['date'];
$dteStart = new DateTime($statusTime);
$dteEnd = new DateTime($currentTime);
$dteDiff = $dteStart->diff($dteEnd);
echo $dteDiff->format('%H:%I:%S');
答案 0 :(得分:1)
您可以使用返回unix时间戳的strtotime()
函数。
strtotime($dteDiff->format());
应该做的伎俩
答案 1 :(得分:0)
Strtotime
将在1970年1月1日之后的几秒钟内给你时间。
所以:
$statustimeUNIX = Strtotime(date("hh:mm:ss",$statusTime));
$currenttimeUNIX = Strtotime(date("hh:mm:ss", $currentTime));
$DiffInSeconds = $currenttimeUNIX - $statustimeUNIX; // or if it's supposed to be the other way around maybe?
此处不需要日期时间,除非你需要其它的东西吗?
编辑:
$statustimeUNIX = Strtotime(date("hh:mm:ss",$statusTime));
$currenttimeUNIX = Strtotime(date("hh:mm:ss", $currentTime));
$DiffInSeconds = $currenttimeUNIX - $statustimeUNIX;
If($DiffInSeconds > 300 || ($DiffInSeconds > -86100 && $DiffInSeconds < 0)){
Echo "inactive";
}else{
Echo "active";
}
答案 2 :(得分:0)
在两个DateTime对象之间获取秒数的最简单方法是进行简单的减法: -
$dteStart = new DateTime($statusTime);
$dteEnd = new DateTime($currentTime);
$seconds = $dteEnd->getTimestamp() - $dteStart->getTimestamp();