Nuboskill
@Nuboskill
Начинающий web developer

Обратный отсчет php, в чем проблема?

Делаю обратный отсчет, все правильно вычел, получил, например число 711 (через strtotime), но это число он почему-то выводит как 1 день 3 часа и N минут, где правильны только минуты, откуда берется 1 день и 3 часа?
$diff = $timerStart - time();

$timerDay = date('j',$diff); //почему то выводит 1, как?
$timerHour = date('G',$diff); //почему то выводит 3, как?
$timerMinute = date('i',$diff); //единственное, что правильно


p.s. посмотрел во всех местах, где она юзается везде прибавил лишние 1 день и 3 часа, в чем мистика? Заранее спасиб :)
  • Вопрос задан
  • 272 просмотра
Решения вопроса 2
MetaDone
@MetaDone
Хорошо сформулированный вопрос - 50% решения
Nuboskill
@Nuboskill Автор вопроса
Начинающий web developer
Всем спасибо, вот так получилось :)
bhKVp-yb3OA.jpg
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Непонятно, почему вы решили что всё правильно вычли.
date('j',$diff); выводит 1 потому, что первое января 1970 года - первое число.
Почему date('G',$diff); выводит 3 сложновато определить, вы же не все входные данные показали, но думаю, что это связано с часовым поясом.

Вместо изобретения очередного велосипеда (и я подозреваю, что вы сейчас не учитываете такие мелочи как високосные годы, високосные секунды, часовые пояса и пареводы часов), не лучше ли взять что-то готовое, типа
DateInterval или DatePeriod, что вам больше подходит. php.net/manual/ru/refs.calendar.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы