PHP 8.0.6 Released!

DateTime::getTimestamp

DateTimeImmutable::getTimestamp

DateTimeInterface::getTimestamp

date_timestamp_get

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

DateTime::getTimestamp -- DateTimeImmutable::getTimestamp -- DateTimeInterface::getTimestamp -- date_timestamp_getRécupère le timestamp Unix

Description

Style orienté objet

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

Style procédural

Récupère le timestamp Unix.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le timestamp Unix représentant la date.

Historique

Version Description
8.0.0 Ces fonctions ne retourne plus false en cas d'échec.

Exemples

Exemple #1 Exemple avec DateTime::getTimestamp()

Style orienté objet

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

Style procédural

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

Les exemples ci-dessus vont afficher quelque chose de similaire à :

1272509157

Notes

L'utilisation du paramètre U à la méthode DateTime::format() est une alternative lors de l'utilisation de PHP 5.2.

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
35
heiccih at gmail dot com
7 years ago
In 32-bit system the unix timestamp will overflow if the date goes beyond year 2038 and this method will return false. In 64-bit systems this function will still work as intended. For more information please see http://en.wikipedia.org/wiki/Year_2038_problem.
up
38
Justin Heesemann
10 years ago
Note that for dates before the unix epoch getTimestamp() will return false, whereas format("U") will return a negative number.

<?php
$date
= new DateTime("1899-12-31");
// "-2209078800"
echo $date->format("U");
// false
echo $date->getTimestamp();
?>
up
-2
Julien Bornstein
1 year ago
Please note that DateTime::gettimestamp() will return an integer, but DateTime::format("U") will return a string.

timestamp must always be typed as int because in PHP, timestamps are integers.

eg:
- strftime ( string $format [, int $timestamp = time() ] ) : string
- time() // return int
- ...

So IMHO, as PHP becomes more and more a typed language, avoid using DateTime::format("U") to avoid this kind of errors "strftime() expects parameter 2 to be int, string given"
To Top