DateTimeInterface::getTimestamp

DateTimeImmutable::getTimestamp

DateTime::getTimestamp

date_timestamp_get

Gets the Unix timestamp

Description

Object-oriented style

public int DateTimeInterface::getTimestamp()
public int DateTimeImmutable::getTimestamp()
public int DateTime::getTimestamp()

Procedural style

int date_timestamp_get(DateTimeInterface $object)

Gets the Unix timestamp.

Parameters

This function has no parameters.

Return Values

Returns the Unix timestamp representing the date.

Errors/Exceptions

If the timestamp cannot be represented as int, a DateRangeError is thrown. Prior to PHP 8.3.0, a ValueError is thrown. And, prior to PHP 8.0.0, false was returned in this case. Still, the timestamp can be retrieved as string by using DateTimeInterface::format with the U format.

Changelog

Version Description
8.3.0 The out-of-range exception is now DateRangeError.
8.0.0 These functions no longer return false on failure.

Examples

Example #1 DateTime::getTimestamp example

Object-oriented style

<?php
$date = new DateTimeImmutable();
echo $date->getTimestamp();
?>

Procedural style

<?php
$date = date_create();
echo date_timestamp_get($date);
?>

The above examples will output something similar to:

1272509157

If you need to retrieve the timestamp with millisecond or microsecond resolution, then you can use the DateTimeInterface::format function.

Example #2 Retrieving timestamp with milli and microsecond resolution

Object-oriented style

<?php
$date = new DateTimeImmutable();
$milli = (int) $date->format('Uv'); // Timestamp in milliseconds
$micro = (int) $date->format('Uu'); // Timestamp in microseconds

echo $milli, "\n", $micro, "\n";
?>

The above examples will output something similar to:

1674057635586
1674057635586918

See Also

  • DateTime::setTimestamp
  • DateTimeImmutable::setTimestamp
  • DateTimeInterface::format