A function that made by idate for print a hour you want:
<?php
function hour ( $a, $b )
{
$timestamp = strtotime(''.$a.':'.$b.':00');
$aa = idate('H', $timestamp);
$bb = idate('i', $timestamp);
if($bb=="0") { $cc = "00"; } else { $cc = $bb; }
$dd = $aa.".".$cc;
return($dd);
}
?>
Why should i use it?
For example:
You have to print 08:00 to 21:00 by 15 minutes periods.
This is a useful code for shipping sites for delivery time.
<?php
echo "<select name=\"example\">";
for($i=8;$i<=20;$i++)
{
for($ii=0;$ii<=3;$ii++)
{
$iii = $ii * 15;
$hour = hour($i, $iii);
echo "<option value=\"".$hour."\">".$hour."</option>";
}
}
echo "</select>";
?>
idate
(PHP 5)
idate — Форматира местно време и дата като цяло число
Описание
int idate
( string $format
[, int $timestamp
] )
Връща низ, форматиран според подадения форматиращ низ, посредтвом даденото цяло число в timestamp или текущото местно време, ако не е даден времеви отпечатък. С други думи, timestamp е незадължителен и по подразбиране стойността му е тази на time().
За разлика от функцията date(), idate() приема само един знак в параметъра format .
| format символ | Описание |
|---|---|
| B | Swatch Beat/Internet Time |
| d | Ден от месеца |
| h | Час (12-часов формат) |
| H | Час (24-часов формат) |
| i | Минути |
| I | връща 1 ако DST (зимно часово време) е активирано, 0 иначе |
| L | връща 1 за високосни години, 0 иначе |
| m | Номер на месеца |
| s | Секунди |
| t | Дните в текущия месец |
| U | Секунди от Unix епохата - 1 януари 1970 00:00:00 GMT - това е същото като time() |
| w | Ден от седмицата (0 за неделя) |
| W | Номер на седмицата по ISO-8601, със седмицата започваща в понеделник |
| y | Година (1 или 2 цифри - проверете забележката по-долу) |
| Y | Година (4 цифри) |
| z | Ден от годината |
| Z | Отместване на часовата зона в секунди |
Забележка: Тъй като idate() връща винаги integer и понеже целите числа не могат да започват с "0", idate() може да върне по-малко цифри, от очакваното. Вижте долния пример:
<?php
$timestamp = strtotime('1st January 2004'); //1072915200
// това отпечатва годината в двуцифрен формат
// тъй като може да започва и с "0", обаче,
// се отпечатва само "4"
echo idate('y', $timestamp);
?>
khaine at herbok dot org
22-Dec-2010 02:07
