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 prosedürel fonksiyonlar 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, tarih ve saatlerle çalışmak için daha iyi organizasyon, daha net sözdizimi ve daha gelişmiş işlevsellik sağlar.
DateTime sınıfı, belirli bir zaman anını bir nesne olarak temsil eder; bu nesneyi daha sonra çeşitli yöntemler kullanarak işleyebilir ve biçimlendirebilirsiniz. Ayrı zaman damgaları ve biçim dizeleriyle çalışan prosedürel işlevlerin aksine, bir DateTime nesnesi hem tarih/saat verilerini hem de bunlar üzerinde gerçekleştirebileceğiniz işlemleri kapsüller.
<?php
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // Şuna benzer bir çıktı verir: 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 yapmanız gerektiğinde kodunuzu daha okunabilir ve bakımı kolay hale getirir. Daha karmaşık tarih hesaplamaları ve biçimlendirme gereksinimleri ile çalışırken bunu özellikle yararlı bulacaksınız.
Görev
KolayBir girdi alacaksınız: Y-m-d H:i:s formatında 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 bir DateTime nesnesi oluşturduğunuzda, bu nesne geçerli tarih ve saat yerine o belirli anı temsil eder. Görüntülemek için nesneyi echo ile yazdırmanız yeterlidir.
Girdi formatı: Y-m-d H:i:s formatında bir tarih dizesi içeren tek bir satır (örnek: 2024-03-15 14:30:25)
Beklenen çıktı: Y-m-d H:i:s olarak formatlanmış tarih ve saat
Kendin dene
<?php
// Tarih dizesi girişini oku
$dateString = trim(fgets(STDIN));
// TODO: Tarih dizesini kullanarak bir DateTime nesnesi oluşturun ve yazdırın
?>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ıralama