DateTimeImmutable::sub
DateTime::diff
Date/Time
PHP Manual

# The DateTimeInterface interface

(PHP 5 >= 5.5.0, PHP 7)

## Introduction

DateTimeInterface is meant so that both DateTime and DateTimeImmutable can be type hinted for. It is not possible to implement this interface with userland classes.

## Class synopsis

DateTimeInterface {
/* Methods */
public DateInterval diff ( DateTimeInterface `$datetime2` [, bool `$absolute` = false ] )
public string format ( string `$format` )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public __wakeup ( void )
}

## Changelog

Version | Description
--- | ---
5.5.8 | Trying to implement DateTimeInterface raises a fatal error now. Formerly implementing the interface didn't raise an error, but the behavior was erroneous.

## Table of Contents

- DateTime::diff — Returns the difference between two DateTime objects
- DateTime::format — Returns date formatted according to given format
- DateTime::getOffset — Returns the timezone offset
- DateTime::getTimestamp — Gets the Unix timestamp
- DateTime::getTimezone — Return time zone relative to given DateTime
- DateTime::__wakeup — The __wakeup handler

DateTimeImmutable::sub
DateTime::diff
Date/Time
PHP Manual