PHP Conference Nagoya 2025

date

(PHP 4, PHP 5, PHP 7, PHP 8)

dateUnix zaman damgasını biçimlendirir

Açıklama

date(string $biçim, ?int $zaman_damgası = null): string

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çime 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.

Uyarı

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.

Bağımsız Değişkenler

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.

Dönen Değerler

Biçimlendirilmiş tarih dizgesi döner.

Hatalar/İstisnalar

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()

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 zaman_damgası artık null olabiliyor.

Örnekler

Ö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.

Notlar

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).

İpucu

İstek başlangıcının zaman damgası $_SERVER['REQUEST_TIME'] değişkenine atanır.

Ayrıca Bakınız

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top