Função DateDiff

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

Devolve uma Variant (Long) que especifica o número de intervalos de tempo entre duas datas especificadas.

Ver alguns exemplos

Sintaxe

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

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

Sugestão: No Access 2010, o Construtor de Expressões tem IntelliSense, para que possa ver que argumentos a sua expressão necessita. 

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


Início da Página

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.

Início da Página

Exemplos

Utilizar a função DateDiff numa expressão     Pode utilizar a função DateDiff onde puder 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.

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

Nota: Os seguintes exemplos demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

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
Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×