Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Devolve uma Variante (Longo) que especifica o número de intervalos de tempo entre duas datas especificadas

Sintaxe

DateDiff ( interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )

A sintaxe da função DateDiff tem os seguintes argumentos:

Argumento

Descrição

interval

Obrigatório. Expressão de cadeia que corresponde ao intervalo de tempo utilizado para calcular a diferença entre date1 e date2.

date1, date2

Obrigatório. Variant (Date). Duas datas que pretende utilizar no cálculo.

firstdayofweek

Opcional. Uma constante que especifica o primeiro dia da semana. Se não for especificado, pressupõe-se que domingo é o primeiro dia da semana.

firstweekofyear

Opcional. Uma constante que especifica a primeira semana do ano. Se não for especificada, pressupõe-se que a semana de 1 de janeiro é a primeira semana do ano.

Definições

O argumento intervalargumento tem as seguintes definições:

Definição

Descrição

aaaa

Ano

t

Trimestre

m

Mês

a

Dia do ano

d

Dia

s

Dia útil

ss

Semana

h

Hora

n

Minuto

s

Segundo

O argumento firstdayofweek tem as seguintes definições:

Constante

Valor

Descrição

vbUseSystem

0

Utilizar a definição NLS API.

vbSunday

1

Domingo (predefiniçã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

Constante

Valor

Descrição

vbUseSystem

0

Utilizar a definição NLS API.

vbFirstJan1

1

Começar com a semana de 1 de Janeiro (predefinição).

vbFirstFourDays

2

Começar com a primeira semana que tenha, pelo menos, quatro dias no ano novo.

vbFirstFullWeek

3

Começar com a primeira semana completa do ano.

Observações

Pode utilizar a função DateDiff para determinar quantos intervalos de tempo especificados existem entre duas datas. Por exemplo, pode utilizar DateDiff para calcular o número de dias entre duas datas ou o número de semanas entre a hoje e o final do ano.

Para calcular o número de dias entre date1 e date2, pode utilizar o Dia do ano ("y") ou o Dia ("d"). Quando interval for Weekday ("w"), DateDiff devolve o número de semanas entre as duas datas. Se date1 se situar numa segunda-feira DateDiff conta o número de segundas até date2. Conta date2 mas não date1. No entanto, se interval for Week ("ww"), a função DateDiff devolve o número de semanas do calendário entre as duas datas. Conta o número de domingos entre date1 e date2. DateDiff conta date2 caso se situe num sábado; mas não conta date1, mesmo que se situe num sábado.

Se date1 se referir a um ponto posterior no tempo relativamente a date2, a função DateDiff devolve um número negativo.

O argumento firstdayofweek afeta os cálculos que utilizam os símbolos de intervalo "w" e "ww".

Se date1 ou date2 for um literal de data, o ano especificado torna-se uma parte permanente dessa data. No entanto, se date1 ou date2 estiver entre aspas (" ") e omitir o ano, o ano atual é inserido no código sempre que a expressão date1 ou date2 for avaliada. Isto permite escrever código que pode ser utilizado em anos diferentes.

Quando comparar 31 de dezembro a 1 de janeiro do ano imediatamente a seguir, DateDiff do Ano ("yyyy") devolve 1, mesmo que apenas tenha decorrido um dia.

Nota:  Para date1 e date2, se a definição da propriedade do Calendário for Gregoriano, a data fornecida tem de ser Gregoriana. Se o calendário for Hijri, a data fornecida tem de ser Hijri.

Exemplos de Consulta DateDiff

Expressão

Resultados

SELECT DateDiff("aaaa",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales;

Devolve a diferença entre Date2 e Date1 (considere Date1 como a mais antiga e Date2 como a mais recente) como o número de "Anos". Resultado: diferença entre os valores no campo "DateofSale" e a data "01/01/2010" como o número de "Anos".

SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Devolve a diferença entre a data do sistema e "DateofSale" como o número de "Trimestres" (com base no ano do calender) e é apresentada na coluna "DaysSinceSale". devolve a diferença entre a data do sistema e "DateofSale" como número de "Meses" e é apresentada na coluna "DaysSinceSale".

SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Devolve a diferença entre a data do sistema e "DateofSale" como o número de "Dias" e é apresentada na coluna "DaysSinceSale".

SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Devolve a diferença entre a data do sistema e "DateofSale" como o número de "Dias" e é apresentada na coluna "DaysSinceSale".

SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Devolve a diferença entre a data do sistema e "DateofSale" como número de "Dias Úteis" e é apresentada na coluna "DaysSinceSale". Se "DateofSale" cair numa segunda-feira, DateDiff conta o número de segundas-feiras até à data do sistema. Conta a data do sistema, mas não o valor em "DateofSale".

SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Devolve a diferença entre a data do sistema e "DateofSale" como o número de "Semanas do Calender" e é apresentada na coluna "DaysSinceSale". Conta o número de domingos entre "DateofSale" e "data do sistema". Contará a data do sistema se cair num domingo; mas não conta "DateofSale", mesmo que caia num domingo.

SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Devolve a diferença entre a data do sistema e "DateTime" como número de "Horas" e é apresentada na coluna "DaysSinceSale".

SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Devolve a diferença entre a data do sistema e "DateTime" como o número de "Minutos" e é apresentada na coluna "DaysSinceSale".

SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Devolve a diferença entre a data do sistema e "DateTime" como número de "segundos" e é apresentada na coluna "DaysSinceSale".

Exemplo de expressão

Utilizar a função DateDiff numa expressão     Pode utilizar a função DateDiff onde quer que possa utilizar expressões. Por exemplo, imagindmox que tem um formulário que utiliza para realizar encomendas de clientes. Na tabela Encomendas, tem um campo denominado ReceiveBefore que contém a data em que o cliente tem de receber a encomenda. Pode utilizar a função DateDiff com uma caixa de texto no formulário para apresentar o número de dias restantes antes do envio da encomenda.

Partindo do princípio de que demora dez dias a enviar qualquer encomenda, defina a propriedade Origem do Controlo da caixa de texto da seguinte forma:

=DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10

Quando abrir o formulário na vista Formulário, a caixa de texto apresenta o número de dias restantes antes do envio da encomenda. Se faltarem menos de 10 dias para a data em que o cliente necessita de receber a encomenda, o número na caixa de texto é negativo e indica quantos dias de atraso a encomenda terá se for enviada imediatamente.

Exemplo de VBA

Utilizar a função DateDiff em código VBA    

Este exemplo utiliza a função DateDiff para apresentar o número de dias entre uma determinada data e hoje.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Consulte Também

Escolher a função de data correta

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×