CodeBlanks Logo Icon CodeBlanks

strtotime() ile tarih ayrıştırma

PHP kursu · Orta seviye · Ders 107/115

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

  1. 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.

  2. Bir hafta sonrasını ayrıştır

    $ts = strtotime('____');
    Cevabı göster
    $ts = strtotime('+1 week');
  3. 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ü

Orta seviye bölümündeki tüm dersler