Con PHP, quiero convertir las marcas de tiempo de UNIX en cadenas de fecha similares a esta: 2008-07-17T09:24:17Z
¿Cómo convierto una marca de tiempo como 1333699439
a 2008-07-17T09:24:17Z
?
Con PHP, quiero convertir las marcas de tiempo de UNIX en cadenas de fecha similares a esta: 2008-07-17T09:24:17Z
¿Cómo convierto una marca de tiempo como 1333699439
a 2008-07-17T09:24:17Z
?
Respuestas:
Intenta gmdate
así:
<?php
$timestamp=1333699439;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
date
y gmdate
la salida diferirá en función de la variable TZ (al menos en * nix)
utilizar la función de fecha date ( string $format [, int $timestamp = time() ] )
Use date('c',time())
como formato para convertir a la fecha ISO 8601 (agregado en PHP 5) -2012-04-06T12:45:47+05:30
utilizar date("Y-m-d\TH:i:s\Z",1333699439)
para obtener2012-04-06T13:33:59Z
Estos son algunos de los formatos compatibles con la función de fecha
<?php
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
$today = date("H:i:s"); // 17:16:18
?>
Suponiendo que está utilizando PHP5.3, la forma moderna de manejar las fechas es a través de la clase DateTime nativa . Para obtener la hora actual solo puede llamar
$currentTime = new DateTime();
Para crear un objeto DateTime a partir de una marca de tiempo específica (es decir, no ahora)
$currentTime = DateTime::createFromFormat( 'U', $timestamp );
Para obtener una cadena formateada, puede llamar
$formattedString = $currentTime->format( 'c' );
Vea la página del manual aquí
Es muy importante establecer una zona horaria predeterminada para obtener el resultado correcto
<?php
// set default timezone
date_default_timezone_set('Europe/Berlin');
// timestamp
$timestamp = 1307595105;
// output
echo date('d M Y H:i:s Z',$timestamp);
echo date('c',$timestamp);
?>
Ayuda de conversión en línea: http://freeonlinetools24.com/timestamp
Z
se usa para indicar que es una hora UTC, por lo que la zona horaria debe establecerse enUTC
$unixtime_to_date = date('jS F Y h:i:s A (T)', $unixtime);
Esto debería funcionar para.
La información en esta conversación me pareció tan útil que solo quería agregar cómo la descubrí usando la marca de tiempo de mi base de datos MySQL y un poco de PHP
<?= date("Y-m-d\TH:i:s\+01:00",strtotime($column['loggedin'])) ?>
La salida fue: 2017-03-03T08: 22: 36 + 01: 00
Muchas gracias Stewe, tu respuesta fue un eureka para mí.
Puedes hacer como .....
$originalDate = "1585876500";
echo $newDate = date("Y-m-d h:i:sa", date($originalDate));
gmdate()
devuelve la fecha / hora en GMT.date()
devolverá la fecha / hora local.