O webu
Zaokrouhlení času

Při vypisování času může být běžný aktuální čas zbytečně přesný.

Čas: 15.13

Návštěvník si potom řekne, proč autor raději s vydáním článku dvě minuty neposečkal, aby bylo datum vydání v hezčí podobě „15.15“.

Naštěstí jde autorovu ukvapenost opravit krátkou PHP funkcí, která čas zaokrouhlí:

function roundedTime($time, $roundTo) {
  $time = strtotime($time);
  $time = round($time / ($roundTo * 60)) * ($roundTo * 60);
  return date("H.i", $time);	
}

Aktuální čas zaokrouhlený po pěti minutách se vypíše následovně:

echo roundedTime(date('H.i'), 5)

Jak to funguje?

  1. Předaný čas se převede na vteřiny (strtotime).

  2. Počet vteřin se vydělí dobou, na kterou se zaokrouhluje.

  3. Tato doba se zaokrouhlí a následně zpátky vynásobí tím samým číslem.

  4. Výsledný čas se zformátuje a vrátí.

Funkci roundedTime jde zadat i jiný počet minut (třeba 10, 15 nebo 30).

Děkuji Janu Rennerovi za vylepšení původní funkce.