Dois dias de diferença, três datas contando os extremos

De 2024-02-28 a 2024-03-01 há dois dias de diferença. Incluindo ambos os extremos, contam-se 28 de fevereiro, 29 de fevereiro e 1º de março: três datas. A opção de incluir a data inicial do Moyoutil conta os dois extremos. A mesma data dá zero por padrão e um com inclusão.

dateDiff("2024-02-28", "2024-03-01", false) // 2
dateDiff("2024-02-28", "2024-03-01", true)  // 3
dateDiff("2024-03-01", "2024-03-01", false) // 0
dateDiff("2024-03-01", "2024-03-01", true)  // 1
Três datas, 28 e 29 de fevereiro e 1º de março de 2024, comparadas com seus dois intervalos.
Diagrama original calculado do exemplo fixo: três caixas de datas e dois intervalos entre datas adjacentes. Não representa a política de um serviço específico.

O resultado é negativo quando a data final precede a inicial. Inverter o exemplo dá -2 por padrão e -3 com inclusão. O sinal da direção é preservado. Se precisar de uma contagem sem sinal, confira primeiro a ordem das datas.

Anos bissextos: confira a exceção dos séculos

No calendário gregoriano do ECMAScript, anos divisíveis por 4 são bissextos, exceto os divisíveis por 100, que também devem ser divisíveis por 400. Assim, 2000 é bissexto e 1900 não. A função real dá dois dias de 2000-02-28 a 2000-03-01 e um para as mesmas datas em 1900.

dateDiff("2000-02-28", "2000-03-01") // 2
dateDiff("1900-02-28", "1900-03-01") // 1

O Moyoutil adiciona T00:00:00Z a cada data para calcular à meia-noite UTC e divide a diferença em milissegundos por 86400000. Neste modelo ECMAScript, um dia tem 86400000 milissegundos. Não recebe horários locais ou mudanças do horário de verão para calcular tempo real decorrido.

ECMAScript: Time Values and Time Range

Confira o critério antes de usar o resultado

Escolha as datas inicial e final. Confira se é a diferença padrão ou a contagem dos extremos com inclusão da data inicial; leia o critério exibido. O resultado se atualiza quando os dados mudam. Aceita anos 0001–9999; datas inexistentes e entradas vazias geram erros.

Conta datas do calendário sem excluir fins de semana e feriados. Não aplica regras de dias úteis, hospedagem, idade, fim de contrato ou prazos legais, nem reconstrói calendários históricos regionais. Confira primeiro as regras do serviço ou instituição.

Perguntas frequentes

Incluir os extremos sempre soma um ao resultado?

Não. Para uma diferença negativa, subtrai um para manter a direção negativa. A mesma data incluída dá um dia.

Dois dias no resultado significam 48 horas reais?

Compara datas à meia-noite UTC. Horários locais reais e mudanças de fuso não são entradas; o resultado sozinho não determina o tempo real decorrido.