DateTime Nesnesine Giriş
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 48 / 68.
date(), time() ve strtotime() gibi yordam tabanlı işlevler temel tarih işlemleri için iyi çalışsa da PHP, DateTime sınıfı aracılığıyla daha güçlü ve esnek bir yaklaşım sunar. Bu nesne yönelimli yöntem, tarihler ve saatlerle çalışırken daha iyi bir düzenleme, daha anlaşılır bir söz dizimi ve daha gelişmiş işlevler sağlar.
DateTime sınıfı, belirli bir zaman anını bir nesne olarak temsil eder; bu nesneyi daha sonra çeşitli yöntemleri kullanarak değiştirebilir ve biçimlendirebilirsin. Ayrı zaman damgaları ve biçim dizeleriyle çalışan yordam tabanlı işlevlerin aksine, bir DateTime nesnesi hem tarih/saat verilerini hem de üzerinde gerçekleştirebileceğin işlemleri kapsar.
<?php
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // Outputs something like: 2024-03-15 14:30:25
?>Herhangi bir parametre olmadan yeni bir DateTime nesnesi oluşturmak, onu otomatik olarak geçerli tarih ve saate ayarlar.
Nesne yönelimli yaklaşım, özellikle aynı tarih üzerinde birden fazla işlem gerçekleştirmeniz gerektiğinde kodunuzu daha okunabilir ve bakımı daha kolay hâle getirir. Daha karmaşık tarih hesaplamaları ve biçimlendirme gereksinimleriyle çalıştıkça bunun özellikle yararlı olduğunu göreceksiniz.
Görev
KolayBir girdi alacaksınız: Y-m-d H:i:s biçiminde bir tarih dizesi (örnek: 2024-03-15 14:30:25).
Girdi tarih dizesini okuyun, bu tarih dizesini parametre olarak kullanarak bir DateTime nesnesi oluşturun ve DateTime nesnesini doğrudan yazdırın.
Bir tarih dizesi parametresiyle DateTime nesnesi oluşturduğunuzda bu nesne, geçerli tarih ve saat yerine o belirli andaki zamanı temsil eder. Nesneyi görüntülemek için yalnızca echo kullanın.
Girdi biçimi: Y-m-d H:i:s biçiminde bir tarih dizesi içeren bir satır (örnek: 2024-03-15 14:30:25)
Beklenen çıktı: Y-m-d H:i:s biçiminde biçimlendirilmiş tarih ve saat
Kendin dene
<?php
// Tarih dizesi girişini oku
$dateString = trim(fgets(STDIN));
// TODO: Tarih dizesini kullanarak bir DateTime nesnesi oluştur ve yazdır
?>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1İleri Seviye Fonksiyonlar
Anonim FonksiyonlarClosure'lar ve 'use'Ok Fonksiyonları (Arrow Functions)Geri Çağırma (Callback) Fonksiyonları'call_user_func' KullanımıDeğişken FonksiyonlarReferans ile Değer AktarımıÖz Yinelemeli (Recursive) FonksiyonlarÖzet: Fonksiyon Karması4Çok Boyutlu Diziler
2 Boyutlu Dizi Oluşturma2 Boyutlu Dizi Elemanlarına Erişme2 Boyutlu Dizi Elemanlarını Değiştirmeİç İçe Döngülerle Yineleme2 Boyutlu İlişkisel DizilerÖzet: Basit Izgara Egzersizi7Tarih ve Saatlerle Çalışmak
'date()' Fonksiyonu'time()' ile Unix Zaman DamgalarıDateTime Nesnesine GirişDateTime Nesnelerini BiçimlendirmeDateTime Nesnelerini DeğiştirmeÖzet: Tarih Hesaplamaları2İleri Düzey Dizi İşlemleri
'array_push' ile Ekleme'array_pop' ile Silme'array_unshift' ile Ekleme'array_shift' ile Silmeİndisli Dizileri Birleştirmeİlişkisel Dizileri Birleştirme'array_slice' ile Kesit Alma'in_array' ile Değer Kontrolü'array_search' ile Anahtar AramaÖzet: Çalma Listesi Alıştırması3Dizileri Sıralama
İndisli Dizileri Artan Sırada Sıralamaİndisli Dizileri Azalan Sırada Sıralamaİlişkisel Dizileri Değere Göre Sıralamaİlişkisel Dizileri Anahtara Göre SıralamaDoğal Sıralama (Natural Order)'usort' ile Özel SıralamaÖzet: Liderlik Tablosu SıralamaKendi başına pratik yap: Online PHP derleyicisi