It's important to note that on 32-Bit systems getTimestamp() will return false for dates greater than 2038, while format("U") will return an unsigned integer
This will return false:
<?php
$dt = new DateTime('2039/1/1');
echo $dt->getTimestamp();
?>
But this will return a value:
<?php
$dt = new DateTime('2039/1/1');
echo $dt->format('U');
?>
DateTime::getTimestamp
(PHP 5 >= 5.3.0)
DateTime::getTimestamp — Obtiene la fecha Unix
Descripción
Estilo orientado a objetos
public int DateTime::getTimestamp
( void
)
Estilo por procesos
Obtiene la fecha Unix.
Parámetros
Esta función no tiene parámetros.
Valores devueltos
Devuelve la fecha Unix que representa la fecha.
Ejemplos
Example #1 Ejemplo de DateTime::getTimestamp()
Estilo orientado a objetos
<?php
$fecha = new DateTime();
echo $fecha->getTimestamp();
?>
Estilo por procesos
<?php
$fecha = date_create();
echo date_timestamp_get($fecha);
?>
El resultado de los ejemplos serían algo similar a:
1272509157
Notas
Utilizar U como parámetro de DateTime::format() es una alternativa cuando se usa PHP 5.2.
Ver también
- DateTime::setTimestamp() - Establece la fecha y la hora basadas en una fecha Unix
- DateTime::format() - Devuelve la fecha formateada según el formato dado
xwisdom at yahoo dot com
25-Aug-2010 09:13
Justin Heesemann
11-Jun-2010 09:57
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();
?>
