sábado, 25 de julho de 2015

Um pouco mais de datas no js

Outras funcionalidades interessantes com datas são: 

1) calcular a diferença entre duas datas; 
2) data uma determinada data, adicionar um número inteiro de 'DateParts'.

Para a primeira hipótese, todos os casos reais com os quais me deparei - e foram bem poucos - tratava da diferença em dias. Vejam a função abaixo que faz esse cálculo: 

function diferencaEmDias(data1, data2) {
    var dif =
        Date.UTC(data1.getYear(), data1.getMonth(), data1.getDate(), 0, 0, 0)
      - Date.UTC(data2.getYear(), data2.getMonth(), data2.getDate(), 0, 0, 0);
    return Math.abs((dif / 1000 / 60 / 60 / 24));
}

Caso necessitem de algo similar para outra DatePart como horas, minutos e segundos, basta adaptar o código no retorno. O nível mais detalhado seria a diferença em milissegundos.

function adicionarDias(data, dias) {
    return new Date(data.getTime() + (dias * 24 * 60 * 60 * 1000));
}

O mesmo vale para esse caso. Basta adaptar a função para obter outro níveis de retorno.

Nenhum comentário:

Postar um comentário