初始化
所以我一直在四处寻找,似乎无法计算两次unix时间之间的秒数,以下是我的两个值:
1617258294==开始时间1617258315==当前时间
我使用以下代码:
$now = new DateTime();
$current_time = $now->getTimestamp();;
$difference1 = $current_time - $start_time;
$difference = $difference1 / 1000 / 60;
我在计算差值时得到了这个值:26954.30525
但我不知道如何将其转换为秒?请有人看一下:(
DateTime
类时,Unix时间戳必须以"@"开头。
$date1 = new DateTime('@' . $unixTimestamp1);
$date2 = new DateTime('@' . $unixTimestamp2);
可以使用diff
方法计算两个DateTime
对象之间的差。
$interval = $date2->diff($date1);
echo $interval('%s seconds');
使用Unix时间戳的DateTime类的另一个用例是方法setTimestamp
。
$date = (new DateTime())->setTimestamp($unixTimestamp);
我想这就是处理时间比较、日期-时间对象和unix时间戳所需要知道的全部内容。
PS:是的,unix时间戳以秒为单位,基于1970年1月1日。你也可以减去它们。
$diffInSeconds = $timestamp1 - $timestamp2;