PHP’de Tarih ve Saat

Bir php dosyasında tarih ve saat bilgisini time() komutu ile alırız. Bu kod normalde bize 1970 yılından bu yana kaç saniye geçmiş bu bilgiyi verir. Örneğin 1227994453 bu komutla alabileceğimiz bir bilgi. Bunu anlamlı hale getirmemize yarayan kod ise date( ‘ayarlar’, zaman ); komutu. Ayarlar bölümünde geçen d günü, m ayı, Y yılı, G saati, i dakikayı ve s saniyeyi gösterir. Şimdi time komutunun yardımıyla tarihi yazdıralım:

echo date( 'd/m/Y G:i:s', time() );

Bu komutu çalıştırdığımızda 29/11/2008 23:37:11 gibi bir veriyi ekrana yazdırdığını görüyoruz. Ayarlar bölümünde değişiklik yaparak istediğimiz şekilde görünmesini sağlayabiliriz. Hatta sadece G:i kullanarak saati ya da d-m-Y kullanarak tarihi görüntüleyebiliriz.

Peki Türkçe olarak 29 Kasım 2008 Cumartesi nasıl yazdırabiliriz? Bunun için bir dize oluşturup veriyi almamız gereklidir. Bir örnekle gösterecek olursak.

$gunler = array('Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi');
echo 'Bugün günlerden ' . $gunler[ date('w',time()) ];

Çalıştırdığımızda Bugün günlerden Cumartesi yazdığını görürüz. Burada kullandığımız w ayarlaması bize 0-6 arasında bir sayı verir. 0 = Pazar, 6 = Cumartesi şeklindedir. Gelen veriyi dizemizde kullanarak Türkçeye çevirdik.

Bazen sunucunun yerel saatine bağlı olarak time() komutu bulunduğunuz yere göre farklı saat verebilir. Buna engel olmak için php.ini dosyasını php’den değiştirmemiz yeterlidir. Örneğin Amerika lokasyonlu bir sunucudaysanız Türkiye saatine göre time() yi görebilmek için aşağıdaki kullanılmalı:

ini_set( 'date.timezone', 'Europe/Istanbul' );

Böylece tüm zaman ayarlarımız kendi saatimize göre ayarlanmış olacaktır.