Php tarih ve saat fonksiyonları

Posted by krmylmz on 5 June 2018 Tuesday 09:25:53

Bir programlama dilinin olmazsa olmazlarından bir tanesi de, tarih ve zaman formatları ve bu formatlar arasından dönüştürme işlemleridir, bu makalemde php üzerinde en çok kullanılan tarih ve zaman fonksiyonlarına değineceğim. Linux sistemlerde tarihin başlangıcı 1/1/1970 00:00 olarak belirlenmiştir, yani bu tarihten itibaren tüm saniyeler sayılarak elde edilen rakamlar dizgisi unix timestamp olarak geçer ve elde edilen bu saniyeler üzerinde yapılan matematiksel işlemlerle tarihler elde edilir.

Php üzerinde unxi timestamp'ı elde etmek için,

<?php
$simdi = time();
echo $simd;
?>



Karşınızda 12449858454, tarzında bir sayı elde edersiniz, bu sayı 1/1/1970 00:00:00 dan itibaren şu ana kadar geçen saniye sayısıdır, bir günde 86400 saniye olduğuna göre bu sayıya 86400 eklersek yarınki tarihi elde ederiz, 30 ile çarpar toplarsak ta 1 ay sonrasını elde ederiz.
Bir timestamp'ı normal tarih şeklinde göstermek için mevcut date fonksiyonu kullanılabilir.

<?php
$simdi = time();
echo date("Y-m-d H:i:s",$simdi);
?>



Ekran çıktışı, şu anki mevcut tarih saat ve saniye bilgisini verecektir. Y-m-d => YIL-AY-GÜN, H:i:s => Saat-Dakika-Saniye

Standart bir tarih formatını timestamp'a dönüştürmek için strtotime fonksiyonu kullanılabilir.

<?php
echo strtotime("2018-07-22");
?>



ekrana unixtimestamp çıktısını alabiliriz.

Bir timestamp oluşturma için ayrıca mktime fonksiyonuda kullanabiliriz.

<?php
echo mktime("12,0,0, 7,22,2018");
?>



7,22,2018 => Ay-Gün->yıl, 12,0,0 => Saat-Dakika-Saniye söz konusu tarih üzerinde bir timestamp oluşturmuş olur.

Bir tarihin doğruluğunu checkdate fonksiyonu ile kontrol edebiliriz.

<?php
var_dump(checkdate(7, 22, 2018));
?>



fonksiyon bolean türündedir, yani çıktı olarak true yada false (doğru yada yanlış) yanıtı alırsınız, ve bir tarihin doğruluğunu teyit edebilirsiniz.

Php üzerinde microtime ile çalışmakta mümkün,

<?php
$time_start = microtime(true);

usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "$time bekleme suresi";
?>


microtime anlık sayfa yüklenmeleri yada, 1 saniyenin altında gerçekleşen işlemler üzerinde ayraç, yada önbellekleme işlemlerinin çıkardığı problemleri giderme gibi bir çok konuda size yardımcı olacaktır.


Php tarih işlemleri ile ilgili en çok kullanılan fonksiyonları açıklamaya çalıştım, Tüm diğer fonksiyonları php.net üzerinden erişebilirsiniz.

http://php.net/manual/en/ref.datetime.php