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

Como Faço Para Somar Horas?


paulocf

Pergunta

Pessoal, boa tarde

Estou precisando fazer uma operação na qual terei que somar minutos sobre uma determinada hora que irei informar. Abaixo segue um modelo do meu form:

Data Inicial<input type="text" name="dt_ini"><br>
Hora Inicial:<input type="text" name="hr_ini"><br>
Tempo:<input type="text" name="tempo" onchange="calcula_data_hora(dt_ini,hr_ini,tempo)"><br>
Data Hora Final:<input type="text" name="dt_hr_fim"><br>

Esse é um modelo bem simplificado do form, mas é suficiente para o entendimento do problema.

Assim que for informado o tempo (em minutos) a ser acrescentado irá ser disparado a funçao para calcular a data/hora final, que irá acrescentar os "X" minutos informados sobre a hora inicial e devolver no value do campo "dt_hr_fim". Estou passando a data inicial porque podemos informar uma hora inicial "23:30" e somar uns 50 minutos sobre esta hora; o que irá obrigatoriamente alterar o dia também.

Alguém tem algum script que realize esta operação, ou tem o caminho das pedras para realizar tal façanha?

Agradeço desde já a todos pela ajuda!!!

Paulo Cesar

blink.gif

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bom, primeiramente vamos imaginar q quem for digitar digite corretamente a data e a hora, entende-se por corretamente na formatação correta(03/06/2005 e 16:36). Apartir dae tu terá q criar a data inicial através do new Date(data e hora passadas). Depois você pega essa data e soma o tempo(aqui vem minha dúvida, qual será o formato do tempo informado?) se for minutos tu faz um .getMinutes() e calcule a diferença criando a data final, se for horas dias segundos, tudo você terá q acrescentar na data inicial e criar uma nova data o resto o JS faz sozinho...

Aqui no fórum tem um exemplo de como trabalhar com datas, dá uma pesquisada...

Qualquer coisa posta ae q te dou uma mão...

Link para o comentário
Compartilhar em outros sites

  • 0

A formataçao da data/hora será no modelo "dd/mm/yy hh:mi", na qual criei uma mascara para facilitar isso. Logo após deve ser informado o tempo (em minutos) que será acrescentado a esta data/hora. O detalhe é com a 00:00 hs, pois a partir daí tenho que virar o dia.

Realmente eu não sei como fazer esse esquema. Andei olhando no fórum e não consegui localizar algo para atender ao meu problema.

Você tem um código, ou similar, que realize essa tarefa, ou pelo menos o caminho das pedras?

Muito Grato por tudo

Paulo Cesar

blink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

não sei se esta seria a medida mais inteligente mas eu fiz assim:

<script language="javascript">
function Horas(Dataini,Tempo,Campo) 
{
AddMinutes(Dataini,Tempo,Campo)
}
</script>

<script language="vbscript">
Function AddMinutes(Data,Tmp,Campo)
   DataHora = DateAdd("n",Tmp,Data)
   NovaData = FormatDateTime(DataHora,2)
   NovaHora = FormatDateTime(DataHora,4)
   Campo.value = NovaData & " " & NovaHora
   MsgBox "Novo Calculada: " & Campo.value
End Function
</script>

Não consegui fazer a chamada direta para o vbscript e tive que criar essa ponte com o javascript.

Valeu. biggrin.gif

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...