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

comparar se somar horas e data


alexandremanowar

Pergunta

Boa tarde

Pessoas preciso saber como fazer as seguintes operações:

1) Como comparar duas variaveis que contem valores em horas tipo var v1 = "10:00:00", para saber qual delas é a maior

2) Como somar variáveis de horas no mesmo esquema var v1 = "10:00:00" e somar com v2 = "11:30:00" isso daria 21:30:00

3) Comparar duas datas para saber qual é a maior

4) Somar duas datas

Como posso fazer isso em js?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

É impressão minha ou tem dois itens repetidos no seu problema ??? Acho que o 3 é igual ao 1 e o 4 igual ao item 2, não ? :blink:

De qualquer forma cara, a Classe Date, possui todos os cálculos de data que precisa.

Setando dois horários diferentes

var data = new Date()
var data2 = new Date()

data.setHours(10)
data.setMinutes(30)
data.setSeconds(0)

data2.setHours(10)
data2.setMinutes(0)
data2.setSeconds(0)
As datas são iguais, pois instanciou elas no mesmo momento, então a diferença das duas é que tem horários diferentes. Qual delas é maior :
var maior = data2.getTime() > data.getTime() ? data2 : data
Easy!!! Pega a maior e adicionando horas e minutos:
maior.setHours( maior.getHours()+20 )
maior.setMinutes( maior.getMinutes()+40 )

A classe Date do javascript vai tratar certinho os valores, setHours só aceita de 0 a 23 e minutos de 0 a 59. Porém, se fizer o que eu fiz ali em cima, o javascript vai fazer os cálculos. No código acima, espera-se um dia pra frente mais as horas a mais passadas no setHours, somada com uma hora a mais passada no setMinutes, já que setMinutes ficará com parâmetro maior que 59.

Se comarar a data2 com a maior, de novo a maior será a data maior.

Referência da Classe Date : http://w3schools.com/jsref/jsref_obj_date.asp

Abraço véio, boa sorte.

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