View Full Version : Hora num formulário


Spiderman
26-03-2007, 15:21
Boas.

Na pagina que estou a criar, ha um formulario para preencher. Eu queria que ao carregar no submit, ele registasse numa variavel ou hidefield a hora e data do sistema naquela altura.

Se podesse ser a hora GMT era melhor, para nao haver descrepância nos valores.

:007:

fil79
26-03-2007, 15:45
Usando PHP:


<?php


#Definição de variáveis de data


$dia=date(d);
$mes=date(n);
$ano=date(Y);

#Definição de variáveis de hora
$hora=date(H);
$minutos=date(i);


#Imprime data
echo"$dia/$mes/$ano ";

#Imprime hora

echo"$hora:$minutos";



#Simplificando o script:
$data = date("m/d/y");
$hora = date("H:i:s");
echo"$data<br>";
echo"$hora";

?>


Espero que tenhas percebido!!:)

p3dro
26-03-2007, 17:00
Outra implementação possível seria usar o javascript, visto que dizes que pretendes preencher um hidden field aquando do submit do formulário; poderia ser +/- algo deste tipo:


<html>
<head>
<script type="text/javascript">
function doOnSubmit(form){
var currentTime = new Date();
form.timestamp.value=currentTime.toLocaleString();
return true;
}
</script>
</head>
<body>
<form name='MyForm' method='post' onsubmit='return doOnSubmit(this)' >
<input type='text' name='timestamp' value=''>
...
...
...
<input type="submit" value='Submit'>
</form>
</body>
</html>


Ao ser pressionado o submit irá ser chamada a função doOnSubmit que basicamente irá preencher o hidden field "timestamp"; para a formatação da hora dá uma vista de olhos neste link (http://www.w3schools.com/jsref/jsref_obj_date.asp).

A abordagem do fil79 é na minha opinião a mais correcta, ou seja deves fazer esse tratamento a nível do servidor, visto que por ex. se o cliente tiver o javascript desligado não vai ser registada a hora; partindo também do principio que estás a usar php, podes ver também aqui alguns exemplos de como formatar a data/hora (http://pt.php.net/date) no php

john
27-03-2007, 11:57
Não dizes que linguagem estás a usar.

Se por exemplo for JSP, podes fazer em Java:

Date data = new Date(); //ficas com a hora actual em data

O Java tem uma API para formatação de datas para usar como der mais jeito.

Sim, do lado do cliente não é boa politica, basta o browser não ter o suporte para javascript activo.