Função DateDiff
Retorna uma Variant (Long) especificando o número de intervalos de tempo entre duas datas especificadas.
Sintaxe
DateDiff(intervalo, data1, data2, [ primeirodiadasemana, [ primeirasemanadoano ]] )
A sintaxe da função DateDiff tem os seguintes argumentos nomeados:
Parte | Descrição |
---|---|
intervalo | Obrigatório. Obrigatório. A expressão da cadeia de caracteres que é o intervalo de tempo usado para calcular a diferença entre a data1 e a data2. |
data1, data2 | Obrigatório; Variant (Data). As duas datas que você deseja usar no cálculo. |
primeirodiadasemana | Opcional. Uma constante que especifica o primeiro dia da semana. Se não especificado, será usado o domingo. |
primeirasemanadoano | Opcional. Uma constante que especifica a primeira semana do ano. Se não especificada, será usada a semana em que ocorre 1º de janeiro. |
Configurações
O argumentode intervalo tem estas definições:
Setting | Descrição |
---|---|
aaaa | Ano |
t | Trimestre |
m | Mês |
a | Dia do ano |
d | Dia |
s | Dia da semana |
ss | Semana |
h | Hora |
m | Minuto |
s | Segundo |
O argumento primeirodiadasemana tem as seguintes configurações:
Constante | Valor | Descrição |
---|---|---|
vbUseSystem | 0 | Use a configuração da API NLS. |
vbSunday | 1 | Domingo (padrão) |
vbMonday | 2 | Segunda-feira |
vbTuesday | 3 | Terça-feira |
vbWednesday | 4 | Quarta-feira |
vbThursday | 5 | Quinta-feira |
vbFriday | 6 | Sexta-feira |
vbSaturday | 7 | Sábado |
O argumento firstweekofyear tem as seguintes configurações:
Constant | Valor | Descrição |
---|---|---|
vbUseSystem | 0 | Use a configuração da API NLS. |
vbFirstJan1 | 1 | Comece com a semana em que ocorre 1 de janeiro (padrão). |
vbFirstFourDays | 2 | Comece com a primeira semana que tiver pelo menos quatro dias no novo ano. |
vbFirstFullWeek | 3 | Comece com a primeira semana completa do ano. |
Comentários
Use a função DateDiff para determinar quantos intervalos de tempo especificados existem entre duas datas. Por exemplo, você pode usar DateDiff para calcular o número de dias entre duas datas, ou o número de semanas entre hoje e o fim do ano.
Para calcular o número de dias entre a data1 e a data2, você pode usar o dia do ano ("a") ou o dia ("d"). Quando o intervalo for o dia da semana ("s"), DateDiff retorna o número de semanas entre duas datas. Se data1 for uma segunda-feira, DateDiff conta o número segundas-feiras até a data2. Contabiliza a data2 mas não a data1.
No entanto, se o intervalo for Semana ("ss"), a função DateDiff retorna o número de semanas do calendário entre as duas datas. Contabiliza o número de domingos entre a data1 e a data2. DateDiff contabiliza a data2 se ocorrer em um domingo, mas não contabiliza a Data1, mesmo que ocorra em um domingo.
Quando a data1 se refere a uma data posterior à data2, a função DateDiff retorna um número negativo. O argumento primeirodiadasemana afeta cálculos que usam os símbolos de intervalo "s" e "ss".
Se data1 ou data2 for uma literal de data, o ano especificado se torna uma parte permanente dessa data. No entanto, se data1 ou data2 estiver entre aspas duplas ("") e omitir o ano, o ano atual é inserido no seu código sempre que a expressão data1 oudata2 for avaliada. Isso possibilita escrever um código que pode ser usado em anos diferentes.
Ao comparar 31 de dezembro a 1 de janeiro do ano imediatamente posterior, a função DateDiff para Ano ("aaaa") retorna 1, mesmo que tenha decorrido apenas 1 dia.
Observação
Para data1 e data2, quando a configuração da propriedade Calendário é Gregoriano, a data fornecida deve ser Gregoriana. Quando o calendário é Islâmico, a data fornecida deve ser Islâmica.
Exemplo
Este exemplo usa a função DateDiff para exibir o número de dias entre a data determinada e a atual.
Dim TheDate As Date ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.