So verwenden Sie die Funktion date_sub() in PHP

So Verwenden Sie Die Funktion Date Sub In Php



Der date_sub() ist eine Funktion der Terminzeit Klasse, die Teil der Datums- und Uhrzeiterweiterung von PHP ist. Es wird verwendet, um ein bestimmtes Intervall von einem bestimmten Datum zu subtrahieren. Es kann verwendet werden, um ein zukünftiges Datum zu berechnen, indem ein oder mehrere Tage, Monate oder Jahre vom aktuellen Datum subtrahiert werden. Der date_sub() Funktion gibt ein neues zurück Terminzeit Objekt, das das Datum und die Uhrzeit nach der Berechnung darstellt.

Grundlegende Syntax

Die Syntax für die Verwendung date_sub() Die Funktion ist unten angegeben:

date_sub ( Terminzeit $object , DateInterval $Intervall )

Hier, $object ist der Terminzeit Objekt, von dem Sie das Intervall subtrahieren möchten, und $Intervall ist der DateInterval Objekt, das das Intervall angibt, das Sie subtrahieren möchten. Beachten Sie, dass beide Argumente erforderlich sind, um das zu verwenden date_sub() korrekt funktionieren.







Arbeiten mit DateInterval

Um das zu nutzen date_sub() Funktion müssen Sie eine erstellen DateInterval Objekt, das die Zeitspanne angibt, die Sie von Ihrem ursprünglichen Datum/Uhrzeit subtrahieren möchten. DateInterval Objekte können mit erstellt werden DateInterval Konstrukteur. Der Konstruktor verwendet einen Zeichenfolgenparameter, der das Intervall in einem Format wie P1D (ein Tag), P1M (ein Monat), P1Y (ein Jahr) und P1DT1H (ein Tag und eine Stunde) angibt.



Beispiele

// Subtrahiere einen Tag
$Intervall = neu DateInterval ( 'P1D' ) ; // Subtrahiere einen Monat
$Intervall = neu DateInterval ( 'P1M' ) ;

// Subtrahiere ein Jahr
$Intervall = neu DateInterval ( 'P1Y' ) ;

So verwenden Sie die PHP-Funktion date_sub()

Sobald Sie eine haben DateInterval Objekt, Sie können es mit einem kombinieren Terminzeit Objekt, um ein neues Datum und eine neue Uhrzeit zu berechnen. Hier ist ein Beispiel, das einen Tag vom aktuellen Datum abzieht:





$datetime = neu Terminzeit ( ) ;

$Intervall = neu DateInterval ( 'P1D' ) ;

date_sub ( $datetime , $Intervall ) ;

Echo $datetime -> Format ( „Y-m-d H:i:s“ ) ;

?>

Wie Sie sehen, liegt die neue Datumszeit einen Tag vor dem aktuellen Datum.





Es ist auch möglich, Stunden, Minuten und Sekunden von einem DateTime-Objekt zu subtrahieren date_sub() Funktion. Um Stunden zu subtrahieren, können Sie das Datumsintervall als PT1H übergeben, was bedeutet, dass eine Stunde subtrahiert wird. Betrachten Sie beispielsweise den folgenden Code:





$datetime = neu Terminzeit ( '2023-05-16 14:43:00' ) ;

date_sub ( $datetime , neu DateInterval ( 'PT1H' ) ) ;

Echo $datetime -> Format ( „Y-m-d H:i:s“ ) ;

?>

Dadurch wird eine Stunde vom DateTime-Objekt abgezogen und das Objekt mit dem neuen Wert aktualisiert. Sie können auf den neuen Wert zugreifen, indem Sie verwenden Format() Funktion des DateTime-Objekts.

Beispiel 1: Subtrahieren verschiedener Intervalle

Der date_sub() Die Funktion ermöglicht das Subtrahieren verschiedener Intervalle, nicht nur von Tagen. Betrachten wir ein Szenario, in dem wir 2 Stunden und 30 Minuten von einem bestimmten Datum und einer bestimmten Uhrzeit abziehen möchten.



$Datum = neu Terminzeit ( „2023-11-02 10:32:45“ ) ;

$Intervall = neu DateInterval ( „PT1H15M“ ) ;

date_sub ( $Datum , $Intervall ) ;

Echo $Datum -> Format ( „Y-m-d H:i:s“ ) ;

?>

In diesem Beispiel erstellen wir ein DateTime-Objekt, das Datum und Uhrzeit darstellt „2023-11-02 10:32:45“ . Wir erstellen auch eine DateInterval Objekt, das einen Zeitraum von 1 Stunde und 15 Minuten im Format „PT1H15M“ darstellt. Wir verwenden dann die date_sub() Funktion zum Subtrahieren des Intervalls vom Datum und der Uhrzeit.

Beispiel 2: Subtrahieren mehrerer Intervalle

Sie können auch die verwenden date_sub() Funktion zum Subtrahieren mehrerer Intervalle von einem DateTime-Objekt. Die Syntax ist einfach: Erstellen Sie einfach ein neues DateInterval-Objekt für jedes Intervall, das Sie subtrahieren möchten, und übergeben Sie sie alle an date_sub() Funktion als Array.



$Intervalle = Array (

neu DateInterval ( 'P1Y' ) ,

neu DateInterval ( 'P6M' ) ,

neu DateInterval ( 'P3D' )

) ;

$datetime = neu Terminzeit ( ) ;

für jede ( $Intervalle als $Intervall ) {

date_sub ( $datetime , $Intervall ) ;

}

Echo $datetime -> Format ( „Y-m-d H:i:s“ ) ;

?>

In diesem Beispiel haben wir ein Jahr, sechs Monate und drei Tage vom Datum abgezogen.

Beispiel 3: date_sub() mit Zeitzonen

Eines müssen Sie bei der Verwendung beachten date_sub() Funktion ist, dass es die Zeitzone Ihres beeinflussen kann Terminzeit Objekt. Standardmäßig, Terminzeit Objekte verwenden die Zeitzone Ihres Servers. Wenn Sie jedoch mit einer anderen Zeitzone arbeiten möchten, können Sie diese explizit über die festlegen setTimezone() Methode.



$datetime = neu Terminzeit ( 'Jetzt' , neu DateTimeZone ( „Amerika/New_York“ ) ) ;

$Intervall = neu DateInterval ( 'P1D' ) ;

date_sub ( $datetime , $Intervall ) ;

Echo $datetime -> Format ( „Y-m-d H:i:s“ ) ;

?>

In diesem Beispiel haben wir die Zeitzone auf Amerika/New_York eingestellt und einen Tag von der Datumszeit abgezogen.

Beim Subtrahieren von Intervallen mit dem date_sub() Bei dieser Funktion ist zu beachten, dass das resultierende Datum automatisch angepasst wird, wenn es ungültig wird.

Abschluss

Der date_sub() Die Funktion in PHP bietet eine praktische Möglichkeit, Intervalle von DateTime-Objekten zu subtrahieren. Mithilfe dieser Funktion können Entwickler problemlos Vorgänge wie das Subtrahieren von Tagen, Stunden, Minuten oder komplexen Intervallen von einem bestimmten Datum und einer bestimmten Uhrzeit ausführen. Der date_sub() Die Funktion bietet Flexibilität und Genauigkeit bei der Handhabung von Datumsberechnungen und ist somit ein wertvolles Werkzeug für die Arbeit mit Datums- und Uhrzeitangaben in PHP-Anwendungen.