Menu
Coddy logo textTech

DateTime Nesnelerini Değiştirme

Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 50 / 68.

Bir DateTime nesnesine sahip olduğunuzda, genellikle onu zamanın farklı bir anını temsil edecek şekilde değiştirmeniz gerekir. modify() yöntemi, doğal dil ifadeleri kullanarak DateTime nesnenize zaman eklemenize veya nesnenizden zaman çıkarmanıza olanak tanıyarak tarih hesaplamalarını sezgisel ve okunabilir hale getirir.

modify() metodu, '+1 day', '-2 weeks' veya 'next Friday' gibi strtotime() ile çalışan aynı türdeki dizeleri kabul eder. Her seferinde yeni bir nesne oluşturmanın aksine, bu metot mevcut DateTime nesnesini doğrudan değiştirir; bu da ardışık tarih işlemleri için verimlidir.

<?php
$date = new DateTime();
echo $date->format('Y-m-d');  // Bugünün tarihi

$date->modify('+1 week');
echo $date->format('Y-m-d');  // Bugünden bir hafta sonrası

$date->modify('-3 days');
echo $date->format('Y-m-d');  // Bugünden 4 gün sonrası
?>

Bu yaklaşım, tarih hesaplamaları için size güçlü bir esneklik sağlar. Kodunuzu net ve sürdürülebilir tutarken, gelişmiş tarih aritmetiği gerçekleştirmek için birden fazla değişikliği zincirleyebilir veya '+2 months -1 day' gibi karmaşık ifadeler kullanabilirsiniz.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

challenge icon

Görev

Kolay

İki girdi alacaksınız: Y-m-d H:i:s formatında bir tarih dizesi ve bir değişiklik dizesi. İlk girdi belirli bir tarih ve saattir (örnek: 2024-03-15 14:30:25) ve ikinci girdi +1 week, -3 days veya +2 months gibi bir değişiklik ifadesidir.

Her iki girdiyi de okuyun, tarih dizesini kullanarak bir DateTime nesnesi oluşturun, değişiklik ifadesini DateTime nesnesine uygulamak için modify() metodunu kullanın ve değiştirilen tarihi Y-m-d H:i:s formatında yazdırın.

Girdi formatı:

  • İlk satır: Y-m-d H:i:s formatında bir tarih dizesi (örnek: 2024-03-15 14:30:25)
  • İkinci satır: Bir değişiklik dizesi (örnek: +1 week veya -3 days veya +2 months)

Beklenen çıktı: Y-m-d H:i:s olarak formatlanmış değiştirilmiş tarih

Kopya kağıdı

modify() yöntemi, doğal dil ifadelerini kullanarak bir DateTime nesnesine zaman eklemenize veya nesneden zaman çıkarmanıza olanak tanır:

<?php
$date = new DateTime();
$date->modify('+1 week');     // Bir hafta ekle
$date->modify('-3 days');     // Üç gün çıkar
$date->modify('+2 months -1 day'); // Karmaşık ifadeler
?>

Bu yöntem, mevcut DateTime nesnesini doğrudan değiştirir ve strtotime() ile aynı dize formatlarını kabul eder; örneğin '+1 day', '-2 weeks' veya 'next Friday'.

Kendin dene

<?php
// Tarih dizesini oku
$dateString = trim(fgets(STDIN));

// Değişiklik dizesini oku
$modificationString = trim(fgets(STDIN));

// YAPILACAK: Kodunuzu aşağıya yazın
// Bir DateTime nesnesi oluşturun, değişikliği uygulayın ve sonucu biçimlendirin


// Değiştirilen tarihi yazdır
echo $modifiedDate;
?>
quiz iconKendini test et

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