DateTimeInterface::getTimestamp

DateTimeImmutable::getTimestamp

DateTime::getTimestamp

date_timestamp_get

Gets the Unix timestamp

&reftitle.description;

&style.oop;

public `int` `DateTimeInterface::getTimestamp` public `int` `DateTimeImmutable::getTimestamp` public `int` `DateTime::getTimestamp`

&style.procedural;

`int` `date_timestamp_get` `DateTimeInterface` `object`

Gets the Unix timestamp.

&reftitle.parameters; &no.function.parameters;
&reftitle.returnvalues;

Returns the Unix timestamp representing the date.

&reftitle.errors;

If the timestamp cannot be represented as &integer;, 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.

&reftitle.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.

&reftitle.examples;

### `DateTime::getTimestamp` example

&style.oop;

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

&style.procedural;

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

&examples.outputs.similar;

    1272509157

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

### Retrieving timestamp with milli and microsecond resolution

&style.oop;

    <?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";
    ?>

&examples.outputs.similar;

    1674057635586
    1674057635586918

&reftitle.seealso;

- `DateTime::setTimestamp`
- `DateTimeImmutable::setTimestamp`
- `DateTimeInterface::format`