Convierta la marca de tiempo a fecha / hora legible PHP


227

Tengo una marca de tiempo almacenada en una sesión (1299446702).

¿Cómo puedo convertir eso a una fecha / hora legible en PHP? He intentado srttotime, etc. en vano.

Respuestas:



84

strtotime convierte una cadena de fecha en una marca de tiempo. Desea hacer lo contrario, que es la fecha . El formato de fecha mysql típico es date('Y-m-d H:i:s'); Consulte la página del manual para ver qué otras letras representan.

Si tiene una marca de tiempo que desea usar (aparentemente lo hace), es el segundo argumento de date().


44
sería una buena nota que pasé en mi fecha actual de la siguiente manera:echo date('m/d/Y', strtotime($current_date_variable);
cwiggo

¿No hay un comando para convertir una marca de tiempo a su estandarización de fecha y hora porque convertí una fecha y hora en una marca de tiempo de Unix pero en mi base de datos todavía es una fecha y hora? Intentaré esto, pero aún me parece extraño que no haya un comando específico para ello
Marc Roelse

64

Acabo de agregar H: i: s a la respuesta de Rocket para obtener el tiempo junto con la fecha.

echo date('m/d/Y H:i:s', 1299446702);

Salida: 06/03/2011 16:25:02



23

Si está usando PHP date(), puede usar este código para obtener la fecha, hora, segundo, etc.

$time = time();               // you have 1299446702 in time
$year = $time/31556926 % 12;  // to get year
$week = $time / 604800 % 52;  // to get weeks
$hour = $time / 3600 % 24;    // to get hours
$minute = $time / 60 % 60;    // to get minutes
$second = $time % 60;         // to get seconds

12
¿Qué tal año bisiesto y segundo ...?
Petteri Hietavirta

$year = date('Y', $time)
Ruben Kazumov

16

Sé que es una vieja pregunta, pero es alta en los resultados de búsqueda.

Si alguien quiere la conversión de marca de tiempo directamente a un objeto DateTime, hay una simple línea:

$timestamp = 1299446702;
$date = DateTime::createFromFormat('U', $timestamp);

Después del comentario de @sromero, el parámetro de zona horaria (el tercer parámetro en DateTime :: createFromFormat ()) se ignora cuando se pasa la marca de tiempo de Unix, por lo que el código siguiente no es necesario.

$date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); // not needed, 3rd parameter is ignored

Puede consultar el manual de PHP para DateTime :: createFromFormat para obtener más información y opciones.


1
Haga un comentario sobre su última línea de código: de acuerdo con la página del manual que enlace: "Nota: El parámetro de zona horaria y la zona horaria actual se ignoran cuando el parámetro de hora contiene una marca de tiempo UNIX (por ejemplo, 946684800) o especifica una zona horaria (por ejemplo, 2010 -01-28T15: 00: 00 + 02: 00) ".
sromero el

@sromero Tienes derecho. El parámetro de zona horaria se ignora en este caso.
Pascal

14

Intentalo.

<?php
 $timestamp=1333342365;
 echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
 ?>

8

Puedes probar esto:

   $mytimestamp = 1465298940;

   echo gmdate("m-d-Y", $mytimestamp);

Salida:

06-07-2016



6

Prueba este:

echo date('m/d/Y H:i:s', 1541843467);

1
¡Hola! Parece que esta respuesta ya ha sido propuesta; Ver la respuesta superior.
sombrero

4

echo date("l M j, Y",$res1['timep']);
Esto es realmente bueno para convertir una marca de tiempo de Unix en una fecha legible junto con el día. Ejemplo: jueves 7 de julio de 2016


1
Ya se publicaron respuestas similares, ¿cuál es el plus de información en su respuesta?
Steffen Harbich

4
echo 'Le '.date('d/m/Y', 1234567890).' &agrave; '.date('H:i:s', 1234567890);

4
$epoch = 1483228800;
$dt = new DateTime("@$epoch");  // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00

En los ejemplos anteriores "r" y "Ymd H: i: s" son formatos de fecha PHP, otros ejemplos:

Formato de salida

r              -----    Wed, 15 Mar 2017 12:00:00 +0100 (RFC 2822 date)
c              -----    2017-03-15T12:00:00+01:00 (ISO 8601 date)
M/d/Y          -----    Mar/15/2017
d-m-Y          -----    15-03-2017
Y-m-d H:i:s    -----    2017-03-15 12:00:00
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.