PHP ile geliştirmekte olduğunuz yazılımda zaman ile ilgili işlemler yapmak isteyebilirsiniz bu aşamada size date(); fonksiyonu lazım olacaktır bu fonksiyon ile sunucu üzerindeki zaman tarih durumunu çekebilirsiniz ancak özel bir satır ile tarih zaman damgasını değiştirebilirsiniz aşağıdaki satır size yardımcı olacaktır ,
date_default_timezone_set('Europe/Istanbul');
öncelikle date(); fonksiyonu ile bir örnek üzerinden gidelim ,
echo date("d/m/Y H:i:s");
yukarıdaki satırı açıklayacak olursak ekrana şuanki tarih ve saati verecektir, fonksiyonda dmYHis olarak belirtilen harflerde büyük küçük duyarlılığına dikkat ediniz,
Gün | d |
Ay | m |
Yıl | Y |
Saat | H |
Dakika | i |
Saniye | s |
PHP ile yazdığınız yazılımda en çok veritabanına tarih yada saat durumunu kaydederken unix şeklinde olmasına dikkat ediniz, dikkat ediniz çünkü örnek olarak belirtirsek bir üyenin kayıt tarihini tablonuzda saklıyorsunuz ve bu tarihler ile ilgili işlem yapmak istediniz kaydınız 11/10/1900 gibi olursa string bir ifade olacaktır ve kayıt süzme tarih ile arama işlemlerinde veritabanınızı ve sunucunuzu gereksiz yere yoracaksınız buda web sunucularında istenmeyen bir durumdur, unix şekile çevirmek için aşağıdaki satır size yardımcı olacaktır ;
$saat=date('H'); $dakika=date('i'); $saniye=date('s'); $ay=date('m'); $gun=date('d'); $yil=date('Y'); echo mktime($saat,$dakika,$saniye,$ay,$gun,$yil);
Yukarıdaki kodu çalıştırdığınızda karşınıza “1517430761” şeklinde bir integer ifade çıkacaktır bu sayılar ile dilediğiniz gibi süzme yada karşılaştırma ifadelerini kolaylıkla bulabilirsiniz en çokta iki tarih arasındaki veriyi çekerken size çok kolaylık sağlayacaktır.
mktime(); dışında anlık olarak zaman damgasını istiyorsak aşağıdaki satır ile o anki zaman damgasını ekrana basacaktır ;
echo time();
Peki bu unix timestamp mantığı nedir dersek : “1 Ocak 1970 00:00:00” tarihinden mktime(); içerisinde verdiğimiz tarihe kadar olan saniye bazında geçen zamandır.