Я пытаюсь реализовать таймер обратного отсчета в мобильном приложении на основе какой-либо серверной функции. У меня есть серверная часть, реализованная на 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
. Но прошло около 7 часов с того момента, как я получил от этого .
Может кто-нибудь пролить мне свет здесь?