我正在尝试基于某些服务器功能在移动应用上实现倒数计时器。我的服务器端是用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个小时后,
有人可以在这里给我一些启发吗?