DateTime::diff

DateTimeImmutable::diff

DateTimeInterface::diff

date_diff

(PHP 5 >= 5.3.0, PHP 7)

DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diffDevuelve la diferencia entre dos objetos DateTime

Descripción

Estilo orientado a objetos

public DateTime::diff ( DateTimeInterface $datetime2 [, bool $absolute = FALSE ] ) : DateInterval
public DateTimeImmutable::diff ( DateTimeInterface $datetime2 [, bool $absolute = FALSE ] ) : DateInterval
public DateTimeInterface::diff ( DateTimeInterface $datetime2 [, bool $absolute = FALSE ] ) : DateInterval

Estilo por procedimientos

date_diff ( DateTimeInterface $datetime1 , DateTimeInterface $datetime2 [, bool $absolute = FALSE ] ) : DateInterval

Devuelve la diferencia entre dos objetos DateTimeInterface.

Parámetros

datetime

La fecha a comparar.

absolute

¿Debería el intervalo ser forzado para ser positivo?

Valores devueltos

El objeto DateInterval que representa la diferencia entre dos fechas o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::diff()

Estilo orientado a objetos

<?php
$datetime1 
= new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval $datetime1->diff($datetime2);
echo 
$interval->format('%R%a días');
?>

Estilo por procedimientos

<?php
$datetime1 
date_create('2009-10-11');
$datetime2 date_create('2009-10-13');
$interval date_diff($datetime1$datetime2);
echo 
$interval->format('%R%a días');
?>

El resultado de los ejemplos sería:

+2 days

Ejemplo #2 Comparación de objetos DateTime

Nota:

A partir de PHP 5.2.2, los objetos DateTime se pueden comparar usando los operadores de comparación.

<?php
$date1 
= new DateTime("now");
$date2 = new DateTime("tomorrow");

var_dump($date1 == $date2);
var_dump($date1 $date2);
var_dump($date1 $date2);
?>

El resultado del ejemplo sería:

bool(false)
bool(true)
bool(false)

Ver también

  • DateInterval::format() - Formatea el intervalo
  • DateTime::add() - Añade una cantidad de días, meses, años, horas, minutos y segundos a un objeto DateTime
  • DateTime::sub() - Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime