Menu
Coddy logo textTech

DateTime-Objekte ändern

Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy — Lektion 50 von 68.

Sobald Sie ein DateTime-Objekt haben, müssen Sie es oft ändern, um einen anderen Zeitpunkt darzustellen. Die modify()-Methode ermöglicht es Ihnen, Zeit zu Ihrem DateTime-Objekt hinzuzufügen oder davon abzuziehen, indem Sie Ausdrücke in natürlicher Sprache verwenden, was Datumsberechnungen intuitiv und lesbar macht.

Die Methode modify() akzeptiert dieselben Arten von Zeichenfolgen, die auch mit strtotime() funktionieren, wie zum Beispiel '+1 day', '-2 weeks' oder 'next Friday'. Im Gegensatz zum jedesmaligen Erstellen eines neuen Objekts modifiziert diese Methode das bestehende DateTime-Objekt direkt, was für aufeinanderfolgende Datumsoperationen effizient ist.

<?php
$date = new DateTime();
echo $date->format('Y-m-d');  // Heutiges Datum

$date->modify('+1 week');
echo $date->format('Y-m-d');  // Eine Woche ab heute

$date->modify('-3 days');
echo $date->format('Y-m-d');  // 4 Tage ab heute
?>

Dieser Ansatz bietet Ihnen eine enorme Flexibilität für Datumsberechnungen. Sie können mehrere Modifikationen verketten oder komplexe Ausdrücke verwenden wie '+2 months -1 day', um anspruchsvolle Datumsarithmetik durchzuführen, während Ihr Code übersichtlich und wartbar bleibt.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

challenge icon

Aufgabe

Einfach

Sie erhalten zwei Eingaben: eine Datumszeichenfolge im Format Y-m-d H:i:s und eine Modifikationszeichenfolge. Die erste Eingabe ist ein bestimmtes Datum mit Uhrzeit (Beispiel: 2024-03-15 14:30:25), und die zweite Eingabe ist ein Modifikationsausdruck wie +1 week, -3 days oder +2 months.

Lesen Sie beide Eingaben ein, erstellen Sie ein DateTime-Objekt unter Verwendung der Datumszeichenfolge, verwenden Sie die Methode modify(), um den Modifikationsausdruck auf das DateTime-Objekt anzuwenden, und geben Sie das geänderte Datum im Format Y-m-d H:i:s aus.

Eingabeformat:

  • Erste Zeile: Eine Datumszeichenfolge im Format Y-m-d H:i:s (Beispiel: 2024-03-15 14:30:25)
  • Zweite Zeile: Eine Modifikationszeichenfolge (Beispiel: +1 week oder -3 days oder +2 months)

Erwartete Ausgabe: Das geänderte Datum, formatiert als Y-m-d H:i:s

Spickzettel

Die Methode modify() ermöglicht es Ihnen, Zeit zu einem DateTime-Objekt mithilfe von Ausdrücken in natürlicher Sprache hinzuzufügen oder davon abzuziehen:

<?php
$date = new DateTime();
$date->modify('+1 week');     // Eine Woche hinzufügen
$date->modify('-3 days');     // Drei Tage abziehen
$date->modify('+2 months -1 day'); // Komplexe Ausdrücke
?>

Die Methode ändert das bestehende DateTime-Objekt direkt und akzeptiert dieselben String-Formate wie strtotime(), wie zum Beispiel '+1 day', '-2 weeks' oder 'next Friday'.

Probier es selbst

<?php
// Den Datums-String einlesen
$dateString = trim(fgets(STDIN));

// Den Modifikations-String einlesen
$modificationString = trim(fgets(STDIN));

// TODO: Schreiben Sie Ihren Code unten
// Erstellen Sie ein DateTime-Objekt, wenden Sie die Modifikation an und formatieren Sie das Ergebnis


// Das geänderte Datum ausgeben
echo $modifiedDate;
?>
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf