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.

  • 📅 `date()` fonksiyonu ne işe yarar: Tarih işlevi, yıl, ay ve gün için sırasıyla Y, m ve d gibi karakterler kullanarak zaman damgasını biçimlendirilmiş bir dizeye dönüştürür.
  • ⏱️ Unix Zaman Damgası: Zaman damgası, 1 Ocak 1970 GMT'den bu yana geçen saniye sayısıdır ve `time()` fonksiyonu geçerli değeri döndürür.
  • 🌍 Zaman dilimleri: `date_default_timezone_set` etkin saat dilimini değiştirir ve `DateTimeZone::listIdentifiers` desteklenen tüm saat dilimlerini listeler.
  • 🔧 mktime: `mktime` fonksiyonu, belirli bir saat, dakika, saniye, ay, gün ve yıldan zaman damgası oluşturur.
  • 🔤 Biçimlendirme Karakterleri: Tek harfler çıktıyı kontrol eder; örneğin H 24 saatlik zaman dilimini, l haftanın gününü ve F ay adını belirtir.
  • 📐 Referans Tabloları: Gruplandırılmış tablolarda, her biri için çalıştırılabilir bir örnekle birlikte zaman, gün, ay ve yıl biçimlendirme karakterleri listelenmiştir.
  • 🤖 Yapay Zeka Yardımı: Yapay zeka araçları, tarih biçimlendirmesi ve fark kodu oluşturabilir ve kafa karıştırıcı saat dilimi hatalarının çözülmesine yardımcı olabilir.

PHP tarih() İşlev

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

TimeStamp

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

Saat Dilimi Tanımlayıcıları

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 Zaman Dilimini Programlı Olarak Ayarladı

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");
?>

SSS

`date()` fonksiyonu, zaman damgasını biçimlendiren basit bir prosedürel fonksiyondur. `DateTime` sınıfı nesne yönelimli olup aritmetik işlemleri, karşılaştırmayı, saat dilimlerini ve değişmezliği destekler; bu da onu daha büyük uygulamalarda karmaşık tarih mantığı için daha uygun hale getirir.

'2025-10-13' veya 'next' gibi formatları okuyabilen strtotime() fonksiyonunu kullanın. Monday' ve bir Unix zaman damgası döndürür. Bilinen bir formatın kesin ayrıştırılması için, DateTime::createFromFormat daha güvenlidir çünkü geçersiz girdi durumunda açıkça başarısız olur.

İki adet DateTime nesnesi oluşturun ve DateInterval döndüren diff() fonksiyonunu çağırın. Ardından günleri, ayları veya yılları okuyabilirsiniz; örneğin, $start->diff($end)->days ile tarihler arasındaki toplam gün sayısını elde edebilirsiniz.

Evet. Giriş ve çıkış formatını tanımlayın, yapay zeka aralık ekleme veya saat dilimi dönüştürme dahil olmak üzere date(), DateTime veya strtotime kodu üretebilir. Artık yıllar ve ay sonları gibi uç durumlarla test edin.

Evet. Yapay zeka, eksik bir `date_default_timezone_set` çağrısını, sunucu ile görüntülenen saat dilimi uyuşmazlığını veya yaz saati uygulaması sorunlarını tespit edebilir ve ardından davranışı tahmin edilebilir hale getirmek için açık saat dilimleriyle `DateTime` kullanımını önerebilir.

Bu yazıyı şu şekilde özetleyin: