Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

José Ari Junior

Converter data e hora em timestamp

Recommended Posts

E ae pessoal, blz!

 

Queria a ajuda de vocês.

 

Gravo no meu banco a data no formato timestamp da data e hora atual da gravação do registro, até ai beleza!

 

Quando puxo no form de alteração esse campo já faço a conversão e mostra a data no formato "DD/MM/YYYY - HH:MM:SS"

 

Mas gostaria de alterar esse campo então como eu faço a conversao dessa string "DD/MM/YYYY - HH:MM:SS" para o formato timestamp para ser gravado no banco.

 

Já tentei microtime(), time(), timestamp() e nada.

 

Alguém sabe como fazer isso, ou não é possível??

 

valew e saúde e paz a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar a DateTime que suporta diferentes formatos de data/hora e fus0-horários:

$dateTime = DateTime::createFromFormat('d/m/Y H:i:s', $date, new DateTimeZone('America/Sao_Paulo'));
$timestamp = $dateTime->getTimestamp();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acabei de pesquisar e só funciona da 5.3.0 pra frente! :upset:

 

Meu php é 5.2.17, meu problema não foi resolvido.... :(

 

Alguém tem alguma ideia de como transformar a data string "DD/MM/YYYY - HH:MM:SS" em timestamp ?? :unsure: :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o explode 2 vezes para explodir a string e um array.

 

e inverte a string junta e usa o timestamp.

 

:D

 

Se fores usar a data atual sem precisar digitar algo utiliza o NOW() dentro do banco de dados que ele pega a data atual.

 

Este post solucionou a sua dúvida, peço que coloque como resolvido e me der um ponto positivo de reputação para que eu possa continuar ajudando outros colegas como você.

Caso não solucione o seu problema, peço que coloque a sua dúvida abaixo.

 


Att: João Paulo Sousa Supriano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, as sugestões não deram certo, então eu achei essa página que me ajudou http://www.codigofonte.net/dicas/php/68_formatando-datas-em-php

 

então eu adaptei às minhas necessidades, ficou assim minha função:

 

/* Converte formato DATETIME do MySQL para o TIMESTAMP do Unix
   18/10/2013 - 10:34:14 -> 1382092454
   */
private function mysql_datetime_para_timestamp($dt) {
    $yr=strval(substr($dt,6,4));
    $mo=strval(substr($dt,3,2));
    $da=strval(substr($dt,0,2));
    $hr=strval(substr($dt,13,2));
    $mi=strval(substr($dt,16,2));
    $se=strval(substr($dt,19,2));
    return mktime($hr,$mi,$se,$mo,$da,$yr);
}

Valew e obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada relacionado com o tópico diretamente, mas se seu host ainda usa PHP 5.2, tome bastante cuidado, pois ele não é mais mantido há três anos e chega até a ser inseguro usá-lo em produção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.