Eu quero converter um timestamp
no MySQL para uma data.
Gostaria de formatar o campo user.registration no arquivo de texto como a yyyy-mm-dd
.
Aqui está o meu SQL:
$sql = requestSQL("SELECT user.email,
info.name,
FROM_UNIXTIME(user.registration),
info.news
FROM user, info
WHERE user.id = info.id ", "export members");
Eu também tentei a conversão de data com:
DATE_FORMAT(user.registration, '%d/%m/%Y')
DATE(user.registration)
Repito o resultado antes para escrever o arquivo de texto e recebo:
email1; nome1; DATE_FORMAT (registro do usuário, '% d /% m /% Y'); notícias1
email2; nome2; notícias2
Como posso converter esse campo para data?
mysql
sql
date-formatting
remyremy
fonte
fonte
Respostas:
fonte
users
.user_created_at
), '% Y-% b-% e') = '2015-03-06' é este formato correto ou devo modificá-lo?'%Y-%m-%d'
como seria de formatá-lo em PHP(date('Y-m-d',$row->user_created_at))
- este (ambas as variantes, SQL e PHP) mostra-se como 2018/11/06Converter carimbo de data / hora para data no MYSQL
Crie a tabela com um carimbo de data / hora inteiro:
Inserir alguns valores
Dê uma olhada
Converta o número em um carimbo de data / hora:
Converta-o em um formato legível:
fonte
Apenas para obter uma data que puder
cast
loe para obter um formato específico, use
date_format
Demonstração do SQLFiddle
fonte
Se o
registration
campo for realmente do tipo,TIMESTAMP
você poderá:e o registro deve aparecer como aaaa-mm-dd
fonte
Apenas use a função DATA do mysql:
fonte
SELECT DATE(UNIX_TIMESTAMP())
espetosNULL
em minha MySQL 5.7.14Você deve converter
timestamp
paradate
.FROM_UNIXTIME
fonte
Se você estiver recebendo a consulta em sua saída, precisará nos mostrar o código que realmente faz eco do resultado. Você pode postar o código que chama requeteSQL?
Por exemplo, se você usou aspas simples no php, ele imprimirá o nome da variável, não o valor
Isso soa exatamente como o seu problema e estou certo de que essa é a causa.
Além disso, tente remover o símbolo @ para ver se isso ajuda, fornecendo mais informações.
de modo a
torna-se
Isso interromperá a supressão de erro se a consulta estiver gerando um erro.
fonte
Eu fiz isso com a função 'date', conforme descrito aqui :
fonte
FROM_UNIXTIME(unix_timestamp, [format])
é tudo o que você precisaFROM_UNIXTIME
obtém um valor numérico e o transforma em umDATE
objeto,ou se receber uma string de formato, ele retornará como uma string.
A solução mais antiga era obter o objeto de data inicial e formatá-lo com uma segunda função
DATE_FORMAT
... mas isso não é mais necessáriofonte
Experimentar:
Formatará o registro de data e hora em milissegundos para a sequência aaaa-mm-dd.
fonte