DateTimeInterface::getTimestamp

DateTimeImmutable::getTimestamp

DateTime::getTimestamp

date_timestamp_get

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

DateTimeInterface::getTimestamp -- DateTimeImmutable::getTimestamp -- DateTime::getTimestamp -- date_timestamp_getGets the Unix timestamp

Description

Object-oriented style

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

Procedural style

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 ValueError is thrown. 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.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

See Also

add a note

User Contributed Notes 1 note

up
0
rundle at rundle dot com
7 hours ago
The timestamp is always UTC and the DateTime constructor using the timestamp assumes UTC.  Thus you cannot roundtrip the timestamp without adjusting for the local time zone.  Consider the following code...

$d0 = new \DateTime();
echo json_encode($d0).'<br>';
echo 'timestamp = '.$d0->getTimestamp().'<br>';
$d1 = new \DateTime('@'.$d0->getTimestamp());
echo json_encode($d1).'<br>';

This code will produce (with server time zone set to MST)

"date":"2022-09-26 10:26:34.864244","timezone_type":3,"timezone":"America\/Phoenix"}
timestamp = 1664213194
{"date":"2022-09-26 17:26:34.000000","timezone_type":1,"timezone":"+00:00"}
To Top