strtotime() ile tarih ayrıştırma
strtotime() ile İngilizce tarih ifadelerini zaman damgasına çevirmeyi öğrenirsin.
strtotime() fonksiyonu
PHP'de İngilizce tarih ifadelerini zaman damgasına çevirmek için strtotime() fonksiyonunu kullanırsın. Fonksiyon, 'next Monday' veya '+1 week' gibi bir dize alır ve bir Unix zaman damgası döndürür.
Örnek: $ts = strtotime('2024-03-15'); satırı '2024-03-15' dizesini bir zaman damgasına çevirir. date('d.m.Y', $ts) ile bu tarihi istediğin biçimde yazdırabilirsin.
Ayrıştırma başarısız olursa fonksiyon false döner; bu yüzden dönüş değerini kontrol etmek iyi bir alışkanlıktır.
Göreli tarih ifadeleri
strtotime() göreli ifadeleri de anlar: '+1 day' yarın, '-1 week' geçen hafta, 'next Monday' gelecek pazartesi, 'last day of next month' gelecek ayın son günü demektir.
Bu sayede kullanıcıdan 'bir hafta sonra' gibi ifade alıp hesaplayabilirsin. Örnek: date('Y-m-d', strtotime('+1 week')) bugünden bir hafta sonraki tarihi verir.
İngilizce dil bilgisine dayandığı için ifadeler İngilizce yazılmalıdır; Türkçe ifadeler ayrıştırılmaz.
Uygulama Tarih dizesini ayrıştır ve yazdır
strtotime() ile '2024-03-15' dizesini zaman damgasına çevir ve $ts değişkenine ata. Sonra date('d/m/Y', $ts) ile ekrana yazdır.
Örnek çözümü göster
$ts = strtotime('2024-03-15'); satırını yaz, sonra echo date('d/m/Y', $ts); ekle.
Örnek çözüm:
<?php
date_default_timezone_set('UTC');
$ts = strtotime('2024-03-15');
echo date('d/m/Y', $ts);
Kendini test et
-
strtotime('next Monday') çağrısı ne döndürür?
- Bir DateTime nesnesi
- Biçimlendirilmiş bir tarih dizesi
- Boolean true değerini
- Bir Unix zaman damgasını (tamsayı)
Cevabı göster
Bir Unix zaman damgasını (tamsayı) — Doğru. strtotime() başarılı olursa bir Unix zaman damgası döndürür.
-
Bir hafta sonrasını ayrıştır
$ts = strtotime('____');Cevabı göster
$ts = strtotime('+1 week'); -
Göreli ifadeleri eşleştir
- 'yesterday'
- Dünkü tarih
- 'next Monday'
- Gelecek pazartesi
- '+1 day'
- Yarın
- 'last day of this month'
- Bu ayın son günü