获取DateTime php

时间:2016-05-02 07:52:39

标签: php mysql datetime

我想将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');

3 个答案:

答案 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();