
Zaokrouhlení času
Jak v PHP zaokrouhlit čas na celé pětiminuty, čtvrthodiny nebo půlhodiny.
Při vypisování času může být běžný aktuální čas zbytečně přesný.
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?
-
Předaný čas se převede na vteřiny (
strtotime
). -
Počet vteřin se vydělí dobou, na kterou se zaokrouhluje.
-
Tato doba se zaokrouhlí a následně zpátky vynásobí tím samým číslem.
-
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.
Související články


Generátor náhodného čísla
Jak vygenerovat náhodné číslo z určitého rozsahu (v JavaScriptu, PHP atd.)

Výpis náhodného textu
Jak na stránce náhodně vypsat obrázek, odkaz, reklamu, text nebo cokoliv jiného.

Instalace Apache, PHP a MySQL za 30 vteřin
Jak si ve Windows spustit vlastní Apache, PHP a MySQL na svém PC za půl minuty.