PHP 8.5.0 Alpha 2 available for testing

DateTimeImmutable::sub

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::sub Sustrae una cantidad de días, meses, años, horas, minutos y segundos

Descripción

public DateTimeImmutable::sub(DateInterval $interval): DateTimeImmutable

Devuelve un nuevo objeto DateTimeImmutable, con el objeto DateInterval especificado sustraído del objeto DateTimeImmutable especificado.

Parámetros

interval

Un objeto DateInterval

Valores devueltos

Retorna un nuevo objeto DateTimeImmutable con los datos modificados.

Errores/Excepciones

Si se intenta realizar una operación no soportada, como usar un objeto DateInterval que represente especificaciones de tiempo relativas como próximo día de la semana, se lanzará una DateInvalidOperationException.

Historial de cambios

Versión Descripción
8.3.0 Ahora lanza una DateInvalidOperationException en lugar de una advertencia cuando se intenta realizar una operación no soportada.

Ejemplos

Ejemplo #1 Ejemplo de DateTimeImmutable::sub()

Estilo orientado a objetos

<?php
$date
= new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P10D'));
echo
$newDate->format('Y-m-d') . "\n";
?>

Los ejemplos anteriores mostrarán :

2000-01-10

Ejemplo #2 Más ejemplos de DateTimeImmutable::sub()

<?php
$date
= new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('PT10H30S'));
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo
$newDate->format('Y-m-d H:i:s') . "\n";
?>

El ejemplo anterior mostrará :

2000-01-19 13:59:30
1992-08-15 19:56:58

Ejemplo #3 Tenga cuidado al substraer meses

<?php
$date
= new DateTimeImmutable('2001-04-30');
$interval = new DateInterval('P1M');

$newDate1 = $date->sub($interval);
echo
$newDate1->format('Y-m-d') . "\n";

$newDate2 = $newDate1->sub($interval);
echo
$newDate2->format('Y-m-d') . "\n";
?>

El ejemplo anterior mostrará :

2001-03-30
2001-03-02

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top