Jump to content


Photo

Mudar Formato Do Horario Antes De Gravar


  • Faça o login para participar
3 replies to this topic

#1 cocacola

cocacola

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 27/05/2006, 17:09

Tipo, recebo via formulario a data e horario nesse formato:

01/30/2006 04:20 PM

ou

01/30/2006 04:20 AM

antes de gravar queria mudar esse formato de AM PM para o 24h, tipo 04:20 PM ficaria 16:20 e o AM continuaria 04:20.

alguem tem ideia como faco essa troca?

no mysql tem como registrar usando AM PM?

#2 dbl

dbl

    Diogo Branco Leal

  • Usuários
  • 505 posts
  • Sexo:Masculino
  • Localidade:Teresópolis - RJ
  • Interesses:PHP, Firework, Photoshop, Flash, etc...

Posted 27/05/2006, 17:11

Vc tem esse script ai da hora??
dbl - Um só Deus é pai de todos, o qual é sobre todos e em todos. (Efésios - 4.6)
Posted Image

#3 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 27/05/2006, 18:33

Depende de como você recebe esse valor .. o usuário digita ou você usa alguma função do php pra gerar ??
E sobre gravar no mysql acho que não tem problema, desde que seja um campo char ou varchar ... :D
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#4 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 28/05/2006, 11:04

Se você precisa informar a data e hora da execução de um processo qualquer você pode fazer assim:
<?PHP
echo date("Y-m-d H:m:s A");
//A SAIDA DESTE SCRIPT VAI SER ALGO COMO "2006-05-28 10:05:11 AM" POREM NÃO DA PRA GUARDAR NUM CAMPO DO TIPO DATETIME

echo date("Y-m-d H:m:s");
//A SAIDA DESTE SCRIPT VAI SER ALGO COMO "2006-05-28 10:05:11" E ASSIM PODEMOS ARMAZENAR NUM CAMPO DO TIPO DATETIME
?>

Seria importante armazenar o valor em um campo do tipo DATETIME para poder ordenar caso necessite
Outra coisa importante mesmo guardando a data em fomato YYYY-MM-DD você pode resgata-la da forma que quiser melhorando o desenpenho de resposta do MySQL uma vez que o VARCHAR ocupa mais espaço no banco que um DATETIME

Retornar a data YYYY-MM-DD em formato DD/MM/YYYY
[/ode]<?PHP
$sql = mysql_query("SELECT DATE_FORMAT(data, '%d/%m/%Y %H:%i') as dia FROM minhaTabela")or die(mysql_error());
//NOTE QUE data É O NOME DO CAMPO ONDE ESTÁ ARMAZENADO A DATA EM TIMESTAMP
//A INSTRUÇÃO as dia DIZ QUE O CAMPO data PASSA A TER O NOME DE dia E PODE SER IMPRESSO ASSIM echo $r['dia']
?>
[/code]

Para o caso de você quiser informar se foi AM ou PM segue a mesma regra que você utiliza para verificar isso "humanamente", Se o valor da hora for maior que 12 então é PM :D moleza né?!!
então vamos para o "código":
<?PHP
$horaTotal = explode(" ", $r['dia']);//SEPARAMOS O VALOR DA HORA E DO DIA FICANDO ALGO COMO "10:15"
$Somentehora = explode(":", $horaTotal);//SEPARAMOS O VALOR DA HORA DOS MINUTOS FICANDO COMO "10"

if($Somentehora[0] >= 12){//COMPARAMOS SE O VALOR É MAIOR QUE 12
$horario = "PM";//SE SIM, PM
}else{
$horario = "AM";//SE NÃO, AM
}

echo $r['dia'] . $horario;//IMPRIMIMOS O RESULTADO :D
?>

Se alguma coisa ficou confuso avisa ai que a galera corrige

Falopa!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq