(PHP 4, PHP 5, PHP 7, PHP 8)
date — Unix zaman damgasını biçimlendirir
Unix zaman_damgası
bağımsız değişkeni ile belirtilen
zamanı ya da bağımsız değişken kullanılmamışsa geçerli zamanı, belirtilen
biçim
e göre biçimlendirerek döndürür. Başka bir
deyişle, zaman_damgası
bağımsız değişkenini belirtmek
isteğe bağlıdır ve varsayılan değeri time() işlevinin
değeridir.
Unix zaman damgaları yerel zaman dilimi hakkında herhangi bir bilgi içermez. Tarih ve saat bilgilerini işlerken zaman dilimini de hesaba katabilmek için DateTimeImmutable sınıfı ve bu sınıfın biçemleme yöntemi olan DateTimeInterface::format() kullanılabilir.
biçim
DateTimeInterface::format() tarafından kabul edilen biçim.
Bilginize: date() int değer aldığından mikrosaniye olarak daima
000000
üretirken, DateTimeInterface mikrosaniyeler ile oluşturulmuşsa DateTimeInterface::format() mikrosaniyeleri destekler.
zaman_damgası
Seçimlik zaman_damgası
bağımsız değişkeni
int türünde bir Unix zaman damgası olup belirtilmediği
takdirde veya null
ise yerel zaman kullanılır. Başka bir deyişle,
time() işlevinden dönen değer öntanımlıdır.
Biçimlendirilmiş tarih dizgesi döner.
Bir tarih/zaman işlevine
yapılan her çağrı eğer zaman dilimi ayarı geçerli değilse bir
E_WARNING
üretir. Ayrıca bakınız:
date_default_timezone_set()
Örnek 1 - date() örnekleri
<?php
// varsayılan zaman dilimini ayarla.
date_default_timezone_set('UTC');
// Şöyle bir şey basar: Monday
echo date("l");
// Şöyle bir şey basar: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');
// Şöyle bir şey basar: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
/* biçim bağımsız değişkeni için sabit kullanımı*/
// Şöyle bir şey basar: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);
// Şöyle bir şey basar: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>
Biçim dizgesinin içinde tanınan bir karakterin önüne bir tersbölü imi koyarak yorumlanması engellenebilir. Eğer tersbölülü karakter zaten özel bir dizilimi ifade ediyorsa, bir tane daha tersbölü karakteri gerekir.
Örnek 2 - date() işlevinde önceleme karakterleri
<?php
// Şöyle bir şey basar: Wednesday the 15th
echo date('l \t\h\e jS');
?>
date() ve mktime() işlevleri birlikte, geçmiş ya da gelecek zamanın bulunmasında kullanılabilir.
Örnek 3 - date() ve mktime() örneği
<?php
$yarın = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
$geçenay = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
$gelecekyıl = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
?>
Bilginize:
Bu kullanım, yaz saati uygulamasından dolayı, bir zaman damgasına basitçe saniye, gün ve ay ekleme veya çıkartma işlemlerinden daha güvenilirdir.
Bazı date() işlevi biçimlendirme örnekleri. Diğer öncelenen karakterlerin, geçerli bir özel anlama sahip olabileceklerinden istenmeyen sonuçlara neden olacağı ve gelecekteki PHP sürümlerinde kullanılmak üzere tahsis edilebilecekleri dikkate alınmalıdır. Önceleme yaparken \n gibi özel karakterlerin oluşmasını önlemek için dizgeyi tek tırnaklar arasına almak gerekir.
Örnek 4 - date() Biçemlemesi
<?php
// Bugünün; March 10th, 2001, 5:16:18 pm olduğunu ve
// Mountain Standard Time (MST) Zaman Diliminde olduğumuzu varsayıyoruz
$bugün = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$bugün = date("m.d.y"); // 03.10.01
$bugün = date("j, n, Y"); // 10, 3, 2001
$bugün = date("Ymd"); // 20010310
$bugün = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$bugün = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
$bugün = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
$bugün = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
$bugün = date("H:i:s"); // 17:16:18
$bugün = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (MySQL DATETIME biçimi)
?>
Tarihi farklı dillerde biçimlendirmek için, date() işlevi yerine IntlDateFormatter::format() yöntemi kullanılmalıdır.
Bilginize:
Tarihin dizge gösteriminden zaman damgası üretirken, strtotime() işlevi kullanılabilir. Ayrıca, bazı veritabanları girilen zaman damgalarını kendi biçimine çeviren işlevlere sahiptir (MySQL'in » UNIX_TIMESTAMP işlevi gibi).
İstek başlangıcının zaman damgası $_SERVER['REQUEST_TIME'] değişkenine atanır.