PHP计算未来时间的剩余时间

时间:2018-06-24 03:41:09

标签: php time strtotime

我正在尝试基于某些服务器功能在移动应用上实现倒数计时器。我的服务器端是用PHP实现的,我无法理解为什么它要在6分钟后关闭。

Route::post('time', function () {


    $data = [];

    $data['timestamp'] = strtotime('next saturday 18:00:00.000');
    $data['date'] = date('Y-m-d', strtotime('next saturday 18:00:00.000'));
    $data['time'] = date('H:m:s', strtotime('next saturday 18:00:00.000'));


    $data['date_now'] = date('Y-m-d', strtotime('now'));
    $data['time_now'] = date('H:m:s', strtotime('now'));


    $now = new DateTime();
    $now->setTimezone(new DateTimeZone('America/Los_Angeles'));

    $future_date = new DateTime(date('Y-m-d H:m:s', strtotime('next saturday 18:00:00.000')));

    $future_date->setTimezone(new DateTimeZone('America/Los_Angeles'));

    $interval = $future_date->diff($now);

    $data['remaining_days'] = $interval->d;
    $data['remaining_hours'] = $interval->h;
    $data['remaining_minutes'] = $interval->m;
    $data['remaining_seconds'] = $interval->s;


    return $data;
});

我得到的答复如下

{
    "timestamp": 1530381600,
    "date": "2018-06-30",
    "time": "18:06:00",
    "date_now": "2018-06-24",
    "time_now": "03:06:04",
    "remaining_days": 6,
    "remaining_hours": 14,
    "remaining_minutes": 0,
    "remaining_seconds": 56
}

我尝试了所有其他方法来在strtotime中指定时间,但实际上一直在给我时间"18:06:00",我想"18:00:00"

无论我听到什么问题,我都真的想找到到服务器时间的下一个星期六下午6点为止的剩余时间。这就是为什么我在做$future-$now。但是距离我从loopback validate documentation回来大约7个小时后,

有人可以在这里给我一些启发吗?

0 个答案:

没有答案