Ir para conteúdo
Fórum Script Brasil
  • 0

Posicoes Com Timestamp


frnd

Pergunta

existe um campos TIMESTAMP no banco de dados e nele eu consigo trazer a data, mas o horário não....

no campos TIMESTAMP está salvo "2007-08-16 17:08:33"

<? //a linha abaixo pega a data do banco que está em formato YYYY-MM-DD para o formato DD-MM-YYYY ?>

<?php $tempoinscricao = $tempoinscricao[8].$tempoinscricao[9].'/'.$tempoinscricao[5].$tempoinscricao[6].'/'.$tempoinscricao[0].$tempoinscricao[1].$tempoinscricao[2].$tempoinscricao[3]; ?>

<td> <?php echo "$tempoinscricao"; ?></td>

estou tentando passar o horário abaixo, mas não estou obtendo sucesso...

<td>Horário de inscrição:</td>

<? //a linha abaixo pega o horario do banco e traz pra tela ?>

<?php $tempoinscricao = $tempoinscricao[11].$tempoinscricao[1].':'.$tempoinscricao[2].$tempoinscricao[3].':'.$tempoinscricao[4].$tempoinscricao[5]; ?>

<td> <?php echo "$tempoinscricao"; ?></td>

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

Bom, pegue o timestamp e jogue em uma variável, $timestamp por exemplo.

Depois utilize o explode pra separar a data da hora.

$datahora = explode(" ", $timestamp);
Isso gerará uma array. A partir dela, crie mais duas variáveis:
$data = datahora[0];
$hora = datahora[1];
A partir daí, é só transformar a data para o formato padrão brasileiro!
$data_br = implode("-", array_reverse(explode("/", $data)));

(Este último trecho do código foi retirado do post do Beraldo, localizado em: http://scriptbrasil.com.br/forum/index.php?showtopic=91087

Código montado por Fabyo).

Link para o comentário
Compartilhar em outros sites

  • 0

mas não tem como só puxar pelas posições lá que nem data que eu passei?

tentei

<?  $datahora = explode(" ", $tempoinscricao);   
                      $data = datahora[0];
                      $hora = datahora[1];                      
                      $data_br = implode("-", array_reverse(explode("/", $data)));
                  ?>

e deu erro na linha $data = datahora[0];

Link para o comentário
Compartilhar em outros sites

  • 0

Dá erro na mesma linha..

<?  $datahora = explode(" ", $tempoinscricao);   
                      $data = datahora[0];
                      $databr = date('d/m/Y', strtotime($data));
                  ?>

Link para o comentário
Compartilhar em outros sites

  • 0

não trouxe nada....

<?  $datahora = explode(" ", $tempoinscricao);   
                      $data = $datahora[0];
                      $hora = $datahora[1];
                    //  $horario = time('h:m:s', strtotime($hora)); 
                     // $databr = date('d/m/Y', strtotime($data));
                  ?>        
              
            <td> <?php echo "$hora"; ?></td>

Link para o comentário
Compartilhar em outros sites

  • 0

coloquei $tempoinscricao colo variavel devido ao seu nome do campo lá da tabela, ou seja, ela é o campo TIMESTAMP

se eu fizer dessta forma o horário não vem do campo, vem a hora atual

<?  $datahora = explode(" ", $tempoinscricao);   
                      $data = $datahora[0];
                      $hora = $datahora[1];
                      $horario = time('HH:MM:SS', strtotime($hora)); 
                  ?>        
              
            <td> <?php echo "$horario"; ?></td>

Link para o comentário
Compartilhar em outros sites

  • 0

Para efeitos de teste, tente isso:

$tempoinscricao = $linha["tempoinscricao"];
echo "$tempoinscricao <br />";
$datahora = explode(" ", $timestamp);
echo "$datahora[0] <br /> $datahora[1]";

Ele deverá mostrar algo como:

2007-08-16 17:08:33 - Aqui mostra que a variável $tempoinscricao está correta

2007-08-16 - Aqui mostrará que a array $datahora[0]está correta

17:08:33 - Aqui mostrará que a array $datahora[1] está correta

Dessa forma fica mais fácil ver onde está o erro.

Link para o comentário
Compartilhar em outros sites

  • 0

não adianta

eu to achando que a função não está separando certinho, fazendo com que na array não se separe também

descobri...

eu estava usando

<?  $datahora = explode(" ", $tempoinscricao);   
                      $data = $datahora[0];
                      $hora = $datahora[1];
                  ?>

eu só estava utilizando o horário e não a data..... será que foi esse o problema?

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, montei o seguinte código aqui para teste:

$consulta0 = mysql_query("SELECT * FROM `usuarios`");
$linha0 = mysql_fetch_array($consulta0);
$tempoinscricao = $linha0["tempoinscricao"];
echo "$tempoinscricao <p>";
$datahora = explode(" ", $tempoinscricao);
echo "$datahora[0] <br /> $datahora[1]";

O resultado retornado na página foi:

2007-08-17 12:50:49

2007-08-17

12:50:49

Então a lógica está correta, só precisa ser analizado o seu código agora.

--- EDIT ---

Se você estiver utilizando só o horário, aí nem precisará utilizar o explode, pois ele não fará nada, mas também, a data não aparecerá.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...