Cómo convertir una fecha en una marca de tiempo en PHP
-
Usando la función
strtotime()
para convertir una fecha en una marca de tiempo en PHP -
Usando la función
strptime()
para convertir una fecha en una marca de tiempo en PHP -
Usando la función
getTimestamp()
para convertir una fecha en una marca de tiempo en PHP -
Usando la función
format()
para convertir una fecha en un timestamp en PHP
En este artículo, introduciremos métodos para convertir una date
en un timestamp
en PHP.
- Usando la función
strtotime()
- Usando la función
strptime()
- Usando la función
getTimestamp()
- Usando la función
format()
Usando la función strtotime()
para convertir una fecha en una marca de tiempo en PHP
La función incorporada strtotime()
convierte una fecha en una Unix timestamp
. Un timestamp de Unix es el número total de segundos calculado a partir de la época Unix (1 de enero de 1970). La sintaxis correcta para usar esta función es la siguiente
strtotime($dateString,$timeNow);
Esta función tiene dos parámetros. $dateString
es la cadena de fecha/hora que debe cumplir con PHP formato válido. Es un parámetro obligatorio. El otro parámetro $timeNow
es opcional, es la marca de tiempo que se usa para calcular las fechas relativas. La hora actual ahora
es el valor por defecto si se omite el segundo parámetro.
<?php
$timestamp = strtotime("23-04-2020");
echo "The timestamp is $timestamp.";
?>
La fecha aquí está en el formato "d-m-Y"
. Sólo hemos pasado un único parámetro ya que convertirá la date
en un Unix timestamp
.
Producción :
The timestamp is 1587600000.
Usando la función strptime()
para convertir una fecha en una marca de tiempo en PHP
Esta es otra función para convertir una fecha en un timestamp
de Unix. No convierte la date
directamente en un timestamp
. Devuelve un array que dice los segundos, minutos, horas, y varios otros detalles. Podemos usar estos detalles para convertir una date
en un timestamp
.
strptime($dateString, $format);
Tiene dos parámetros obligatorios. $dateString
es la cadena de la fecha y $format
es el formato para analizar $dateString
.
<?php
$array = strptime('23-04-2020', '%d-%m-%Y');
$timestamp = mktime(0, 0, 0, $array['tm_mon']+1, $array['tm_mday'], $array['tm_year']+1900);
echo "The timestamp is $timestamp.";
?>
Producción :
The timestamp is 1587600000.
Después de generar el array, la función mktime()
convierte la date
en un timestamp
.
La sintaxis de la función mktime()
es
mktime(hour, minute, second, month, day, year, is_dst)
is_dst
especifica si la fecha-hora es un horario de verano, pero se elimina de PHP 7.0.0.
$array['tm_mon']
y luego usaremos la suma como parámetro de month
en mktime
, porque $array['tm_mon']
empieza en 0
, o en otras palabras, $array['tm_mon']
de enero es 0.Usando la función getTimestamp()
para convertir una fecha en una marca de tiempo en PHP
El método getTimestamp()
del objeto DateTime
es un método simple para convertir una fecha en una marca de tiempo. Tiene otra forma de representación date_timestamp_get()
que es la representación de estilo procedural.
$datetimeObject->getTimestamp();
Crearemos un objeto Datetime
para llamar a esta función. Este es el estilo orientado al objeto de llamar a una función.
<?php
$date = new DateTime('2020-04-23');
$timestamp = $date->getTimestamp();
echo "The timestamp is $timestamp.";
?>
El objeto $date
de la clase Datetime ha llamado al método getTimestamp()
para convertir la date
en un timestamp
de Unix.
Producción :
The timestamp is 1587600000.
Usando la función format()
para convertir una fecha en un timestamp en PHP
También podemos usar el método format()
de DateTime
para convertir una date
en un timestamp
. Este método tiene otra representación date_format()
que es la representación de estilo procedural de la función format()
.
$datetimeObject->format("U");
Para convertir una date
a un timestamp
, el formato que pasaremos como cadena es "U"
.
<?php
$dateObject = new DateTime('2020-04-23');
$timestamp = $dateObject->format("U");
echo "The timestamp is $timestamp.";
?>
El objeto $dateObject
de la clase Datetime
ha llamado a la función format()
para convertir la fecha en un timestamp
de Unix.
Producción :
The timestamp is 1587600000.
Artículo relacionado - PHP DateTime
- Cómo obtener el último día del mes con las funciones PHP
- Cómo calcular la diferencia entre dos fechas usando PHP
- Cómo convertir DateTime a cadena en PHP
- Cómo obtener el año actual en PHP
- Cómo convertir una marca de tiempo en una fecha u hora legible en PHP