PHP Date() & Time Fonksiyonu: Güncel Zaman Damgası Nasıl Elde Edilir?
⚡ Akıllı Özet
PHP'deki `date()` fonksiyonu, zaman damgalarını insan tarafından okunabilir tarih ve saatlere dönüştürür. Bu kılavuz, tarih sözdizimini, Unix zaman damgasını, saat dilimlerinin nasıl listelenip ayarlanacağını, zaman damgaları oluşturmak için `mktime` fonksiyonunu ve zaman, gün, ay ve yıl biçimlendirme karakterlerinin tam bir referansını açıklamaktadır.

PHP tarih() İşlev
PHP'nin `date` fonksiyonu, tarih veri türleriyle çalışmayı kolaylaştıran yerleşik bir fonksiyondur. PHP `date` fonksiyonu, bir tarihi veya saati insan tarafından okunabilir bir biçime dönüştürmek için kullanılır. Bir makalenin yayınlanma tarihini görüntülemek veya bir veritabanındaki verilerin en son ne zaman güncellendiğini kaydetmek için kullanılabilir.
PHP Tarih Sözdizimi ve Örnek
PHP'deki `date()` fonksiyonunun temel sözdizimi aşağıdaki gibidir.
<?php date(format,[timestamp]); ?>
İŞTE,
- “date(…)” fonksiyonu, geçerli zaman damgasını biçimlendirilmiş olarak döndürür. PHP sunucu üzerinde.
- "Format", çıktımızın genel biçimini belirtir; örneğin:
- PHP tarih formatı YYYY-MM-DD için "Ymd" kısaltması kullanılır.
- Geçerli yılı görüntülemek için “Y”
- “[timestamp]” isteğe bağlıdır. Zaman damgası belirtilmezse, PHP sunucudaki geçerli tarih ve saati kullanır.
Şimdi de mevcut yılı gösteren basit bir örneğe bakalım.
<?php echo date("Y"); ?>
Çıktı:
2026
Zaman Damgası nedir?
PHP'de zaman damgası, geçerli zaman ile 1. zamandaki değer arasındaki saniye cinsinden sayısal bir değerdir.st Ocak 1970 00:00:00 Greenwich Ortalama Saati (GMT).
Zaman işlevinin döndürdüğü değer, varsayılan saat dilimine bağlıdır.
Varsayılan saat dilimi php.ini dosyasında ayarlanır. Ayrıca date_default_timezone_set fonksiyonu kullanılarak programatik olarak da ayarlanabilir.
Aşağıdaki kod, geçerli zaman damgasını görüntüler.
<?php
echo time();
?>
timestamp.php dosyasını phptuts klasörüne kaydettiğinizi varsayarak, aşağıdaki konuma gidin: URL http://localhost/phptuts/timestamp.php
Not: Zaman damgasının değeri sabit değildir. Her saniye değişir.
Kullanılabilir saat dilimi tanımlayıcılarının bir listesini alma
Varsayılan saat dilimini programatik olarak nasıl ayarlayacağımıza bakmadan önce, desteklenen saat dilimlerinin listesini nasıl alacağımıza bakalım.
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
İŞTE,
- “$timezone_identifiers = DateTimeZone::listIdentifiers();” ifadesi, DateTimeZone yerleşik sınıfının listIdentifiers statik yöntemini çağırır. listIdentifiers yöntemi, $timezone_identifiers değişkenine atanan tanımlayıcıların bir listesini döndürür.
- “foreach{…}” döngüsü diziyi tek tek inceler ve değerleri yazdırır.
list_time_zones.php dosyasını phptuts klasörüne kaydettiğinizi varsayarak, aşağıdaki konuma gidin: URL http://localhost/phptuts/list_time_zones.php
PHP Zaman Dilimini Programlı Olarak Ayarladı
date_default_timezone_set işlevi, bir PHP betiğinden varsayılan saat dilimini ayarlamanıza olanak tanır.
Ayarlanan saat dilimi daha sonra tüm tarihler için kullanılacaktır. PHP fonksiyonları Komut dosyalarınızda. Aşağıdaki sözdizimine sahiptir.
<?php date_default_timezone_set(string $timezone_identifier); ?>
İŞTE,
- “date_default_timezone_set()”, varsayılan saat dilimini ayarlayan işlevdir
- “string $timezone_identifier” saat dilimi tanımlayıcısıdır
Aşağıdaki kod, php.ini dosyasında ayarlanan varsayılan saat dilimine göre saati görüntüler. Ardından varsayılan saat dilimini Asia/Calcutta olarak değiştirir ve saati tekrar görüntüler.
<?php echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); date_default_timezone_set("Asia/Calcutta"); echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); ?>
phptuts klasörüne set_time_zone.php dosyasını kaydettiğinizi varsayarak, aşağıdaki konuma gidin: URL http://localhost/phptuts/set_time_zone.php
PHP Mktime İşlevi
mktime işlevi zaman damgasını bir biçimde döndürür Unix biçimi.
Söz dizimi şu şekildedir.
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
İŞTE,
- “mktime(…)” make PHP zaman damgası işlevidir
- "Saat" ifadesi isteğe bağlıdır; saatin rakamsal karşılığıdır.
- "Dakika" isteğe bağlıdır; dakika sayısıdır.
- "Saniye" isteğe bağlıdır; saniye sayısıdır.
- "Ay" ifadesi isteğe bağlıdır; ayın numarasıdır.
- "Gün" isteğe bağlıdır; günün sayısıdır.
- "Yıl" isteğe bağlıdır; yılın rakamsal değeridir.
- “is_dst” isteğe bağlıdır; yaz saati uygulamasını (DST) belirlemek için kullanılır. Yaz saati uygulaması varsa 1, yoksa 0 ve bilinmiyorsa -1'dir.
Şimdi de mktime fonksiyonunu kullanarak 13/10/2025 tarihine ait bir zaman damgası oluşturan bir örneğe bakalım.
<?php
echo mktime(0,0,0,10,13,2025);
?>
İŞTE,
- “0,0,0” sırasıyla saati, dakikayı ve saniyeyi temsil eder.
- “10” yılın ayıdır
- “13” ayın günüdür
- Yıl “2025”
Çıktı:
1760328000
PHP Tarih Biçimi Referansı
Aşağıdaki tablolar, PHP tarih fonksiyonlarıyla çalışırken kullanılan yaygın biçimlendirme karakterlerini göstermektedir.
Zaman parametreleri
| Parametre | Açıklama | Örnek E-posta |
|---|---|---|
| "R" | Tam tarih ve saati döndürür |
<?php echo date("r"); ?> |
| “a”, “A” | Geçerli saatin sırasıyla öğleden sonra mı yoksa öğleden sonra mı, öğleden sonra mı yoksa öğleden sonra mı olduğunu döndürür |
<?php echo date("a"); echo date("A"); ?> |
| “g”, “G” | Başında sıfırlar olmadan saati sırasıyla [1 ila 12], [0 ila 23] döndürür |
<?php echo date("g"); echo date("G"); ?> |
| “h”, “H” | Saati baştaki sıfırlarla birlikte döndürür [01 ila 12], [00 ila 23] sırasıyla. |
<?php echo date("h"); echo date("H"); ?> |
| “i”, “s” | Dakikayı/saniyeyi baştaki sıfırlarla birlikte döndürür [00 ila 59] |
<?php echo date("i"); echo date("s"); ?> |
Gün parametreleri
| Parametre | Açıklama | Örnek E-posta |
|---|---|---|
| "D" | Ayın gününü, başındaki sıfırlarla birlikte döndürür [01 - 31] |
<?php echo date("d"); ?> |
| "J" | Başında sıfır olmadan ayın gününü döndürür [1 - 31] |
<?php echo date("j"); ?> |
| “D” | [Pazar - Cumartesi] gün adının ilk 3 harfini döndürür. |
<?php echo date("D"); ?> |
| "L" | Haftanın gününün adını döndürür [Pazar - Cumartesi] |
<?php echo date("l"); ?> |
| "w" | Haftanın gününü baştaki sıfırlar olmadan döndürür [0 ila 6]; Pazar günü sıfır (0) ile, Cumartesi günü ise altı (6) ile temsil edilir. |
<?php echo date("w"); ?> |
| “z” | Başında boşluk olmadan yılın gününü döndürür [0'dan 365'e kadar] |
<?php echo date("z"); ?> |
Ay Parametreleri
| Parametre | Açıklama | Örnek E-posta |
|---|---|---|
| “M” | Başında sıfırlar bulunan ay numarasını döndürür [01 - 12] |
<?php echo date("m"); ?> |
| "N" | Başında sıfır olmadan ay numarasını döndürür [1 - 12] |
<?php echo date("n"); ?> |
| "M" | Ay adının ilk 3 harfini döndürür [Jan to Dec] |
<?php echo date("M"); ?> |
| "F" | Ayın adını döndürür [Ocak - Aralık] |
<?php echo date("F"); ?> |
| "T" | Bir aydaki gün sayısını döndürür [28 - 31] |
<?php echo date("t"); ?> |
Yıl Parametreleri
| Parametre | Açıklama | Örnek E-posta |
|---|---|---|
| "L" | Artık yıl ise 1, artık yıl değilse 0 döndürür. |
<?php echo date("L"); ?> |
| "Y" | Dört haneli yıl formatını döndürür. |
<?php echo date("Y"); ?> |
| "Y" | İki basamaklı yıl formatını (00 ile 99 arası) döndürür. |
<?php echo date("y"); ?> |



