Existe uma função MySQL que pode ser usada para converter um registro de data e hora do Unix em uma data legível por humanos? Eu tenho um campo em que salvo os tempos do Unix e agora quero adicionar outro campo para datas legíveis por humanos.
mysql
unix-timestamp
King Julien
fonte
fonte
Respostas:
Use
FROM_UNIXTIME()
:Veja também: documentação do MySQL em
FROM_UNIXTIME()
.fonte
from_unixtime
: dev.mysql.com/doc/refman/5.1/en/…TO_UNIXTIME
, mas simUNIX_TIMESTAMP
.O que está faltando nas outras respostas (no momento em que escrevo) e não é diretamente óbvio é que é
from_unixtime
possível usar um segundo parâmetro para especificar o formato da seguinte forma:fonte
Eu acho que o que você está procurando é
FROM_UNIXTIME()
fonte
Precisa de um timestamp unix em um fuso horário específico?
Aqui está uma lista, se você tiver acesso rápido ao mysql cli:
Substitua
'MST'
pelo fuso horário desejado. Eu moro no Arizona, portanto, a conversão de UTC para MST.fonte
Por que se preocupar em salvar o campo como legível? Só nós
AS
EDIT: Desculpe, nós armazenamos tudo em milissegundos, não segundos. Corrigido.
fonte
Você pode usar a função DATE_FORMAT. Aqui está uma página com exemplos e os padrões que você pode usar para selecionar diferentes componentes de data.
fonte
Maneira fácil e simples:
select from_unixtime(column_name, '%Y-%m-%d') from table_name
fonte
Desde que eu achei essa pergunta inconsciente, que o mysql sempre armazena tempo nos campos de registro de data e hora no UTC, mas será exibido (por exemplo, phpmyadmin) no fuso horário local, gostaria de adicionar minhas descobertas.
Eu tenho um campo last_modified atualizado automaticamente, definido como:
Olhando para ele com phpmyadmin, parece que está no horário local, internamente é UTC
Em qualquer constelação, UNIX_TIMESTAMP e 'as UTC' são sempre exibidos no horário UTC.
Execute isso duas vezes, primeiro sem definir o time_zone.
fonte