Converter carimbo de data / hora em data / hora legível PHP


227

Eu tenho um carimbo de data / hora armazenado em uma sessão (1299446702).

Como posso converter isso para uma data / hora legível em PHP? Eu tentei srttotime, etc. sem sucesso.

Respostas:



84

strtotime transforma uma string de data em um carimbo de data / hora. Você quer fazer o oposto, que é a data . O formato típico da data do mysql é date('Y-m-d H:i:s'); Verifique a página do manual para saber o que as outras letras representam.

Se você tem um registro de data e hora que deseja usar (aparentemente você usa), esse é o segundo argumento de date().


4
seria bom notar que passei em minha data atual da seguinte forma:echo date('m/d/Y', strtotime($current_date_variable);
cwiggo

existe um comando para converter um carimbo de data / hora em sua padronização de data e hora, porque eu converti um data e hora em um carimbo de data e hora unix, mas no meu banco de dados ainda é um horário de data em que tentarei isso, mas ainda acho estranho que não exista um comando específico para ele
Marc Roelse 15/01

64

Acabei de adicionar H: i: s à resposta de Rocket para obter o tempo e a data.

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

Saída: 03/06/2011 16:25:02



23

Se você estiver usando PHP date(), poderá usar esse código para obter a data, 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
Que tal ano bissexto e segundo ...?
Petteri Hietavirta 26/01

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

16

Eu sei que é uma pergunta antiga, mas é alta nos resultados da pesquisa.

Se alguém quiser a conversão de carimbo de data e hora diretamente em um objeto DateTime, existe uma linha simples:

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

Após o comentário @sromero, o parâmetro fuso horário (o terceiro parâmetro em DateTime :: createFromFormat ()) é ignorado quando o carimbo de data / hora unix é passado, portanto, o código abaixo é desnecessário.

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

Você pode verificar o manual do PHP em DateTime :: createFromFormat para obter mais informações e opções.


1
Faça um comentário sobre sua última linha de código: de acordo com a página do manual que você vincula: "Nota: O parâmetro fuso horário e o fuso horário atual são ignorados quando o parâmetro time contém um registro de data e hora UNIX (por exemplo, 946684800) ou especifica um fuso horário (por exemplo, 2010 -01-28T15: 00: 00 + 02: 00). "
sromero

@romero Você tem razão. O parâmetro fuso horário é ignorado neste caso.
Pascal

14

Tente.

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

8

Você pode tentar isso:

   $mytimestamp = 1465298940;

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

Resultado :

06-06-2016



6

Tente este:

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

1
Olá! Parece que esta resposta já foi proposta; veja a resposta superior.
hat

4

echo date("l M j, Y",$res1['timep']);
Isso é realmente bom para converter um registro de data e hora unix em uma data legível junto com o dia. Exemplo: quinta-feira 7 de julho de 2016


1
Respostas semelhantes já foram postadas. Qual é a vantagem das informações em sua resposta?
Steffen Harbich 07/07

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

Nos exemplos acima, "r" e "Ymd H: i: s" são formatos de data PHP, outros exemplos:

Formatar Saída

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.