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 — Format a local time/date as integer
Opis
$format
[, int $timestamp = time()
] )
Returns a number formatted according to the given format string using the
given integer timestamp or the current local time
if no timestamp is given. In other words, timestamp
is optional and defaults to the value of time().
Unlike the function date(), idate()
accepts just one char in the format parameter.
Parametry
-
format -
The following characters are recognized in the formatparameter stringformatcharacterDescription B Swatch Beat/Internet Time d Day of the month h Hour (12 hour format) H Hour (24 hour format) i Minutes I (uppercase i) returns 1 if DST is activated, 0 otherwise L (uppercase l) returns 1 for leap year, 0 otherwise m Month number s Seconds t Days in current month U Seconds since the Unix Epoch - January 1 1970 00:00:00 UTC - this is the same as time() w Day of the week (0 on Sunday) W ISO-8601 week number of year, weeks starting on Monday y Year (1 or 2 digits - check note below) Y Year (4 digits) z Day of the year Z Timezone offset in seconds -
timestamp -
Opcjonalny parametr uniksowy znacznik czasu
timestampjest typu integer i domyślnie jest ustawiony na bieżący czas lokalny jeślitimestampnie został podany. Innymi słowy, domyślnie to wartość funkcji time().
Zwracane wartości
Returns an integer.
As idate() always returns an integer and as they can't start with a "0", idate() may return fewer digits than you would expect. See the example below.
Błędy/Wyjątki
Każde wywołanie do funkcji date/time spowoduje wygenerowanie E_NOTICE
jeśli strefa czasowa jest nieprawidłowa, lub/i wiadomość E_STRICT
jeśli użyto ustawień systemu lub zmiennej środowiskowej TZ.
Patrz także date_default_timezone_set()
Rejestr zmian
| Wersja | Opis |
|---|---|
| 5.1.0 |
Teraz generuje błędy strefy czasowej o poziomie |
Przykłady
Przykład #1 idate() example
<?php
$timestamp = strtotime('1st January 2004'); //1072915200
// this prints the year in a two digit format
// however, as this would start with a "0", it
// only prints "4"
echo idate('y', $timestamp);
?>
