Zum Inhalt springen

date_interval_create_from_date_string()

Was ist date_interval_create_from_date_string()?

Die Funktion date_interval_create_from_date_string() ist eine integrierte PHP-Funktion, die ein neues DateInterval-Objekt basierend auf einer Zeichenkettenrepräsentation des Intervalls erstellt. Sie akzeptiert einen einzelnen Zeichenkettenparameter.

Hinweis: Diese Funktion wurde in PHP 8.2 als veraltet markiert (deprecated) und ist für eine zukünftige Version zur Entfernung vorgesehen.

Wie funktioniert sie?

Die Funktion analysiert den bereitgestellten String mit strtotime(). Zu den gängigen Formaten gehören relative Zeitangaben wie '+1 day', '1 week' oder '2 hours 30 minutes'.

Bei Erfolg wird ein DateInterval-Objekt zurückgegeben, andernfalls false, wenn die Zeichenkette nicht analysiert werden kann.

Fehlerbehandlung: Überprüfen Sie immer den Rückgabewert, bevor Sie das Objekt verwenden. Für moderne PHP-Versionen wird empfohlen, den DateInterval-Konstruktor direkt als zuverlässige Alternative zu nutzen.

Hier ist ein Beispiel zur Verwendung der Funktion:

Grundlegende Verwendung

php
<?php

$interval = date_interval_create_from_date_string('1 day');

In diesem Beispiel erstellen wir ein neues DateInterval-Objekt, das ein Intervall von einem Tag darstellt.

Beispiele

Werfen wir einen Blick auf einige Beispiele zur Verwendung der Funktion.

Beispiel 1: Hinzufügen eines Intervalls zu einem Datum

Dieses Beispiel erstellt ein Intervall von einem Tag und fügt es einem DateTime-Objekt hinzu:

Hinzufügen eines Intervalls zu einem Datum in PHP

php
<?php

$date = new DateTime('2023-03-03');
$interval = date_interval_create_from_date_string('1 day');
$date->add($interval);
echo $date->format('Y-m-d');

Die Ausgabe dieses Codes lautet:


console
2023-03-04

Beispiel 2: Formatieren eines Intervalls

Dieses Beispiel erstellt ein Intervall von einem Monat und formatiert es mit DateInterval::format():

Formatieren eines Intervalls in PHP

php
<?php

$interval = date_interval_create_from_date_string('1 month');
echo $interval->format('%m months');

Die Ausgabe dieses Codes lautet:


console
01 months

Tipps zur Leistungsoptimierung

Hier sind einige Tipps zur Optimierung der Leistung der Funktion:

  • Verwenden Sie prägnante relative Strings (z. B. '1 day' statt 'P0Y0M1D'), um den Parsing-Overhead zu reduzieren.
  • Cachen Sie DateInterval-Objekte bei der Wiederverwendung innerhalb derselben Skriptausführung, um die Objektinstanziierung zu minimieren.
  • Vermeiden Sie die Instanziierung von Intervallen in engen Schleifen; definieren Sie sie vorab außerhalb der Schleife und verwenden Sie sie bei Bedarf erneut.

Fazit

In diesem Artikel haben wir die Funktion date_interval_create_from_date_string() besprochen. Beachten Sie, dass sie in PHP 8.2 als veraltet markiert wurde und in einer zukünftigen Version entfernt wird. Für moderne PHP-Versionen verwenden Sie den DateInterval-Konstruktor direkt (z. B. new DateInterval('P1D')). Wir haben erklärt, wie die Funktion funktioniert, Beispiele bereitgestellt und Tipps zur Optimierung ihrer Leistung gegeben. Wir hoffen, dass dieser Artikel hilfreich war.

Übungen

Was macht die PHP-Funktion date_interval_create_from_date_string?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.