Php Подсчет секунд до ближайшей четверти часа - PullRequest
2 голосов
/ 03 ноября 2011

У меня есть приложение, которому требуется время до события (в секундах) для отображения таймера обратного отсчета.Таймер обратного отсчета должен отсчитывать 20 минут за раз.Тем не менее, мне нужно использовать php, чтобы найти секунды до следующей трети часа (12:00, 12:20, 12:40 и т. Д.), И я понятия не имею, куда идти с логикой в ​​этом вопросе.

У кого-нибудь есть предложения?

Ответы [ 2 ]

7 голосов
/ 03 ноября 2011
echo $remaining = 15-(date('i', time()) % 15);

$remaining - это остаток от количества минут, прошедших за час, деленный на 15. Затем, если вы хотите узнать, сколько до следующих 15, 15-x будет вашим ответом.

  • Итак, 18:41 - это 41 минута после часа.
  • 41% 15 дает остаток 11.
  • 15-11 дает вам 4, то есть до следующего 15-минутного интервала остается 4 минуты.

Очевидно, измените 15 на 20, если вы хотите, чтобы треть, а не четверти часа ...

0 голосов
/ 03 ноября 2011

Вы можете спросить php, как поздно, и вернуть только минуты. Вы делаете это с помощью функции date (). Затем вы делаете простую if-функцию (я написал ее как функцию, но вы также можете использовать ее как «обычный» последовательный php, без функции и возвращаемого материала). Вычтите минуты, которые мы из минут, к которым вы хотите перейти, и сделайте из них секунды.

Как это:

<?php
function get_the_seconds() { //


$minutes = date('i'); //how many minutes in the hour are we

   if ($minutes <= 20) {
       $seconds = (20-$minutes)*60; //60 secs in a minute :)
   } elseif ($minutes >= 20 && $minutes <= 40) {
       $seconds = (40-$minutes)*60;
   } else {
       $seconds = (60-$minutes)*60;
   }
   return $seconds 
}
?>
...