Çağan Bahri

Yazılım Geliştirici

Php Tarih ve Saat İşlemleri

Php tarih ve saat işlemlerini nasıl alınabileceği ve çeşitlerini göstermek istiyorum 

 

date_default_timezone_set() Fonksiyonu 

Php ile zaman işlemlerini sunucudan doğru ve hatasız almak için komutu ile güncellemek gerekli.
Bunu için date_default_timezone_set()  fonksiyonun da kullanacağız.Php'nin desteklediği tüm zaman aralıkları burada

 

date_default_timezone_set('Europe/Istanbul');   // Türkiyenin bulunduğu zaman aralığı

$betik_zd = date_default_timezone_get();  // Seçili zaman a ralığını ekrana yazdırır 

 

time() Fonksiyonu

Burada önemli olan nokta çıktıyı unix formatında vermesi 

Unix formatı nedir derseniz : 1 ocak 1970 yılından bu yana geçen süredeki saniye sayısı olarak size çıktı verir.

echo time();

// Çıktı 1639124620

 

date() Fonksiyonu

 

 Bu günün Tarihi

echo date("y-m-d");

// Çıktı şu şekilde 2021-12-10

 

 Sadece gün        

 echo date("d");

   // Çıktı 10

 

Saat Formatında  ( dakika ) 

 echo date("Y-m-d h:i");

 // Çıktı  : 2021-12-10 11:46

 

 

 Saat Formatında ( saniye )

echo date("Y-m-d h:i:s");

// Çıktı : 2021-12-10 11:46:44

 

Buraya kadar tarih ve saat işlemlerini öğrendiysek aşadağıdaki tabloda yer alan harflere yazıp çıktıyı alabilirsiniz.

Kod Açıklama  Çıktı
d Günleri bu harf ile alacağız 27
m Aylar 07
Y Yıl 2021
H Saat (Büyük ile yazarsanız 24 saat diliminden küçük ile yazarsanız 12) 19
i Dakika 38
s Saniye 59
l

ingilizce günün adını verir

Monday
F ingilizce ayın adını verir July

 

İleri yada Önceki tarihleri alma

Bunun için strtotime fonksiyonunu kullanmak gerekecek.Bu komut herhangi bir tarihi unix formatına dönüştüyor.Az yukarıda bahsetmiştim unix formatı nedir diye ve tarihe ilave saniye formatında ekleme yapıyor 

           

 

 1 Gün Ekleme
echo date('Y-m-d', strtotime(' +1 day'));
Çıktı şu şekilde 2021-12-11

2 Gün Sonraki Tarihi Alma 

echo date('Y-m-d', strtotime(' +2 day'));

Çıktı şu şekilde 2021-12-11

 

1 Gün Önceki Tarihi Yazdırma

echo date('Y-m-d', strtotime(' -1 day'));

Çıktı şu şekilde 2021-12-11

1 Hafta Sonrası 

echo date('Y-m-d', strtotime(' +1 week'));

//Çıktı şu şekilde 2021-12-17

1 Hafta Öncesi 

echo date('Y-m-d', strtotime(' -1 week'));

//Çıktı şu şekilde 2021-12-03

1 Ay Sonrası

echo date('Y-m-d', strtotime(' +1 month'));

//Çıktı şu şekilde 2022-01-10

 

1 Ay Öncesi

echo date('Y-m-d', strtotime(' -1 month'));

//Çıktı şu şekilde 2021-11-10

 

1 Yıl Sonrası

echo date('Y-m-d', strtotime(' +1 year'));

//Çıktı şu şekilde 2022-12-10

1 Yıl Önceki

echo date('Y-m-d', strtotime(' -1 year'));

//Çıktı şu şekilde 2020-12-10

 

Bir örnek ile bu yapıyı daha iyi anlatmak istiyorum mesala bu gün ve sonraki 9 günün tarihlerini almak istersek kodlama yapısı bu şekilde olması gerekir

 

Buı gün ve sonraki 9 günün döngüsünü burada görebilirsiniz

for($sayi = 0; $sayi <= 10; $sayi++) {
    echo date('Y-m-d h:i:s', strtotime(' +'.$sayi.' day'));
echo "
";
 }

Çıktı şu şekilde olacak 

2021-12-10 02:17:44
2021-12-11 02:17:44
2021-12-12 02:17:44
2021-12-13 02:17:44
2021-12-14 02:17:44
2021-12-15 02:17:44
2021-12-16 02:17:44
2021-12-17 02:17:44
2021-12-18 02:17:44
2021-12-19 02:17:44
2021-12-20 02:17:44

 

microtime(); fonksiyonu

1 ocak 1970 yılından itibaren geçen saniye süresinin unix formatında mikrosaniye olarak gösterir

echo microtime(true);

// Çıktı 1639135311.4757

 

 

 

Bir örnekleme ile bugünün tarihini türkçe formatta göstereyim

Diyelim ki veritabanına tarihi bu şekilde kayıt ettiniz 2021-12-10
 

$tarih = "2021-12-10";

$par = explode('-',$tarih);
$ay = $par[1];
$gun = $par[2];

$yil= $par[0];

$aylar = array(
    '',
    'Ocak',
    'Şubat',
    'Mart',
    'Nisan',
    'Mayıs',
    'Haziran',
    'Temmuz',
    'Ağustos',
    'Eylül',
    'Ekim',
    'Kasım',
    'Aralık'
);

if($ay != 10){

$ay = str_replace("0","", $ay);

}else{

$ay = 10;

}
echo $yil." ".$aylar[$ay]." ".$gun;

// Çıktı şu şekilde olacak 2021 Aralık 10 

// Buradaki formatı şu şekilde değiştirebilirdik

echo $gun." ".$aylar[$ay]." ".$yil;

// Çıktı şu şekilde olacak 10 aralık 2021 
 

 

 

 

Bir Yorum Bırakabilirsiniz :)