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 — Yerel zamanı/tarihi tamsayı olarak biçimlendirir
Açıklama
$biçem
[, int $zaman_damgası = time()
] )
zaman_damgası ile belirtilen zaman için
biçem dizgesine göre biçemlenmiş bir sayı döndürür.
zaman_damgası belirtilmemişse
time() işlevinin çıktısı öntanımlıdır.
date() işlevinden farklı olarak,
idate() işlevi biçem dizgesi
olarak tek bir karakter kabul eder.
Değiştirgeler
-
biçem -
biçimdeğiştirgesinde aşağıdaki karakterlerden biri belirtilebilirbiçemkarakterleriAçıklama B Swatch Ritim/İnternet Saati d Ayın günleri h Saat (12 saatlik gösterim) H Saat (24 saatlik gösterim) i Dakika I (büyük ı) Yaz Saati Uygulaması etkinleştirilmişse 1, diğer durumlarda 0 döndürür L (büyük l) artık yıl için 1, değilse 0 döndürür m Ayın sayısal dengi s Saniye t Şimdiki ayın günleri U Unix Zaman Başlangıcından (1 Ocak 1970 00:00:00 UTC) beri geçen saniye sayısı; time() işlevinin çıktısına eşdeğerdir. w Haftanın günü (Pazar için 0) W ISO-8601 standardına göre yılın hafta numarası, haftaların başlangıcı Pazartesi'dir y Yıl (1 yada 2 karakter - aşağıya bakınız) Y Yıl (4 haneli) z Yılın günü Z Sanile olarak zaman dilimi -
zaman_damgası -
Seçimlik
zaman_damgasıdeğiştirgesi integer türünde bir Unix zaman damgası olup belirtilmediği takdirde yerel zaman kullanılır. Başka bir deyişle, time() işlevinden dönen değer öntanımlıdır.
Dönen Değerler
integer türünde bir değer döner.
idate() işlevi daima integer türünde değer döndürse de bu değerler "0" ile başlayamaz. idate() işlevi beklediğinizden daha az karakter döndürebilir. Aşağıdaki örneğe bakınız.
Hatalar/İstisnalar
Bir tarih/zaman işlevine
yapılan her çağrı eğer zaman dilimi ayarı geçerli değilse bir
E_NOTICE üretir. Ve/veya eğer sistem ayarları veya
TZ ortam değişkeni kullanılıyorsa bir
E_STRICT veya bir E_WARNING
iletisi üretir. Ayrıca bakınız:
date_default_timezone_set()
Sürüm Bilgisi
| Sürüm: | Açıklama |
|---|---|
| 5.1.0 |
Zaman dilimi hatalarında artık |
Örnekler
Örnek 1 - idate() örneği
<?php
$timestamp = strtotime('1st January 2004'); //1072915200
// Yılı iki haneli basması gerekirse de
// başında "0" olmadan sadece "4" basar
echo idate('y', $timestamp);
?>
