DateAndTime.DateDiff Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna um valor que especifica o número de intervalos de tempo entre dois valores Date.
Sobrecargas
| Nome | Description |
|---|---|
| DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
Subtrai |
| DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
Subtrai |
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
- Origem:
- DateAndTime.vb
- Origem:
- DateAndTime.vb
- Origem:
- DateAndTime.vb
- Origem:
- DateAndTime.vb
Subtrai Date1 de Date2 para fornecer um valor longo especificando o número de intervalos de tempo entre os dois valores de Date.
public static long DateDiff(Microsoft.VisualBasic.DateInterval Interval, DateTime Date1, DateTime Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
static member DateDiff : Microsoft.VisualBasic.DateInterval * DateTime * DateTime * Microsoft.VisualBasic.FirstDayOfWeek * Microsoft.VisualBasic.FirstWeekOfYear -> int64
Public Function DateDiff (Interval As DateInterval, Date1 As DateTime, Date2 As DateTime, Optional DayOfWeek As FirstDayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Optional WeekOfYear As FirstWeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1) As Long
Parâmetros
- Interval
- DateInterval
Necessário. Um valor de enumeração DateInterval ou uma expressão de cadeia de caracteres que representa o intervalo de tempo que você deseja usar como a unidade de diferença entre Date1 e Date2.
- Date1
- DateTime
Necessário. O primeiro valor de data/hora que você deseja usar no cálculo.
- Date2
- DateTime
Necessário. O segundo valor de data/hora que você deseja usar no cálculo.
- DayOfWeek
- FirstDayOfWeek
Opcional. Um valor escolhido da enumeração FirstDayOfWeek que especifica o primeiro dia da semana. Se não for especificado, Sunday será usado.
- WeekOfYear
- FirstWeekOfYear
Opcional. Um valor escolhido da enumeração FirstWeekOfYear que especifica a primeira semana do ano. Se não for especificado, Jan1 será usado.
Retornos
Um valor longo que especifica o número de intervalos de tempo entre dois valores Date.
Exceções
Date1, Date2ou DayofWeek está fora do intervalo.
Date1 ou Date2 é de um tipo inválido.
Exemplos
Este exemplo usa a função DateDiff para exibir o número de dias entre uma determinada data e hoje.
Dim date2Entered As String = InputBox("Enter a date")
Try
Dim date2 As Date = Date.Parse(date2Entered)
Dim date1 As Date = Now
' Determine the number of days between the two dates.
Dim days As Long = DateDiff(DateInterval.Day, date1, date2)
' This statement has a string interval argument, and
' is equivalent to the above statement.
'Dim days As Long = DateDiff("d", date1, date2)
MessageBox.Show("Days from today: " & days.ToString)
Catch ex As Exception
MessageBox.Show("Invalid Date: " & ex.Message)
End Try
Comentários
Você pode usar a função DateDiff para determinar quantos intervalos de tempo especificados existem entre dois valores de data/hora. 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 final do ano.
Comportamento
Tratamento de parâmetros.
DateDiffsubtrai o valor deDate1do valor deDate2para produzir a diferença. Nenhum valor é alterado no programa de chamada.Valores retornados. Como
Date1eDate2são do tipo de dadosDate, eles contêm valores de data e hora precisos para tiques de 100 nanossegundos no temporizador do sistema. No entanto,DateDiffsempre retorna o número de intervalos de tempo como um valorLong.Se
Date1representar uma data e hora posteriores aDate2,DateDiffretornará um número negativo.Intervalos de dia. Se
Intervalestiver definido comoDateInterval.DayOfYear, ele será tratado da mesma forma queDateInterval.Day, porqueDayOfYearnão é uma unidade significativa para um intervalo de tempo.Intervalos de semana. Se
Intervalestiver definido comoDateInterval.WeekOfYear, o valor retornado representará o número de semanas entre o primeiro dia da semana que contémDate1e o primeiro dia da semana que contémDate2. O exemplo a seguir mostra como isso produz resultados diferentes deDateInterval.Weekday.' The following statements set datTim1 to a Thursday ' and datTim2 to the following Tuesday. Dim datTim1 As Date = #1/4/2001# Dim datTim2 As Date = #1/9/2001# ' Assume Sunday is specified as first day of the week. Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2) Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)No exemplo anterior,
DateDiffretorna 0 awDporque a diferença entre as duas datas é menor que sete dias, mas retorna de 1 awYporque há uma diferença de sete dias entre os primeiros dias das respectivas semanas do calendário.Intervalos maiores. Se
Intervalestiver definido comoDateInterval.Year, o valor retornado será calculado somente a partir das partes do ano deDate1eDate2. Da mesma forma, o valor retornado paraDateInterval.Monthé calculado puramente a partir das partes ano e mês dos argumentos e paraDateInterval.Quarterdos trimestres que contêm as duas datas.Por exemplo, ao comparar 31 de dezembro a 1º de janeiro do ano seguinte,
DateDiffretorna 1 paraDateInterval.Year,DateInterval.QuarterouDateInterval.Month, embora no máximo apenas um dia tenha decorrido.Para culturas como japonês que têm várias eras, o método
DateDiffnão retorna uma diferença em anos se a diferença abrange duas ou mais eras. Em vez disso, você pode calcular a diferença de valores retornados pela propriedade Year, conforme mostrado no exemplo a seguir:date2.Year - date1.Year.Outros intervalos. Como cada valor
Dateé suportado por uma estrutura DateTime, seus métodos oferecem opções adicionais para encontrar intervalos de tempo. Por exemplo, você pode usar o métodoSubtractem qualquer um de seus formulários sobrecarregados: DateTime.Subtract subtrai um TimeSpan de uma variável deDatepara retornar outro valorDatee DateTime.Subtract subtrai um valorDatepara retornar um TimeSpan. Você pode cronometrar um processo para descobrir quantos milissegundos são necessários, como mostra o exemplo a seguir.Dim startTime As Date = Now ' Run the process that is to be timed. Dim runLength As Global.System.TimeSpan = Now.Subtract(startTime) Dim millisecs As Double = runLength.TotalMilliseconds
O argumento Interval pode ter uma das seguintes configurações.
| Valor de enumeração | Valor da cadeia de caracteres | Diferença de unidade de tempo |
|---|---|---|
DateInterval.Day |
"d" | Dia |
DateInterval.DayOfYear |
"y" | Dia |
DateInterval.Hour |
"h" | Hora |
DateInterval.Minute |
"n" | Minuto |
DateInterval.Month |
"m" | Mês |
DateInterval.Quarter |
"q" | Quarto |
DateInterval.Second |
"s" | Segundo |
DateInterval.Weekday |
"w" | Semana |
DateInterval.WeekOfYear |
"ww" | Semana do calendário |
DateInterval.Year |
"yyyyy" | Ano |
O argumento DayOfWeek pode ter uma das seguintes configurações.
| Valor de enumeração | Valor | Descrição |
|---|---|---|
FirstDayOfWeek.System |
0 | Primeiro dia da semana especificado nas configurações do sistema |
FirstDayOfWeek.Sunday |
1 | Domingo (padrão) |
FirstDayOfWeek.Monday |
2 | Segunda-feira (em conformidade com o ISO standard 8601, seção 3.17) |
FirstDayOfWeek.Tuesday |
3 | Terça-feira |
FirstDayOfWeek.Wednesday |
4 | Quarta-feira |
FirstDayOfWeek.Thursday |
5 | Quinta-feira |
FirstDayOfWeek.Friday |
6 | Sexta-feira |
FirstDayOfWeek.Saturday |
7 | Sábado |
O argumento WeekOfYear pode ter uma das seguintes configurações.
| Valor de enumeração | Valor | Descrição |
|---|---|---|
FirstWeekOfYear.System |
0 | Primeira semana do ano especificada nas configurações do sistema |
FirstWeekOfYear.Jan1 |
1 | Semana em que 1º de janeiro ocorre (padrão) |
FirstWeekOfYear.FirstFourDays |
2 | Semana que tem pelo menos quatro dias no ano novo (em conformidade com o ISO standard 8601, seção 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Primeira semana completa do ano novo |
Confira também
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- resumo do tipo de dados (Visual Basic)
Aplica-se a
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
- Origem:
- DateAndTime.vb
- Origem:
- DateAndTime.vb
- Origem:
- DateAndTime.vb
- Origem:
- DateAndTime.vb
Subtrai Date1 de Date2 para fornecer um valor longo especificando o número de intervalos de tempo entre os dois valores de Date.
public static long DateDiff(string Interval, object? Date1, object? Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
public static long DateDiff(string Interval, object Date1, object Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
static member DateDiff : string * obj * obj * Microsoft.VisualBasic.FirstDayOfWeek * Microsoft.VisualBasic.FirstWeekOfYear -> int64
Public Function DateDiff (Interval As String, Date1 As Object, Date2 As Object, Optional DayOfWeek As FirstDayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Optional WeekOfYear As FirstWeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1) As Long
Parâmetros
- Interval
- String
Necessário. Um valor de enumeração DateInterval ou uma expressão de cadeia de caracteres que representa o intervalo de tempo que você deseja usar como a unidade de diferença entre Date1 e Date2.
- Date1
- Object
Necessário. O primeiro valor de data/hora que você deseja usar no cálculo.
- Date2
- Object
Necessário. O segundo valor de data/hora que você deseja usar no cálculo.
- DayOfWeek
- FirstDayOfWeek
Opcional. Um valor escolhido da enumeração FirstDayOfWeek que especifica o primeiro dia da semana. Se não for especificado, Sunday será usado.
- WeekOfYear
- FirstWeekOfYear
Opcional. Um valor escolhido da enumeração FirstWeekOfYear que especifica a primeira semana do ano. Se não for especificado, Jan1 será usado.
Retornos
Um valor longo que especifica o número de intervalos de tempo entre dois valores Date.
Exceções
Date1, Date2ou DayofWeek está fora do intervalo.
Date1 ou Date2 é de um tipo inválido.
Exemplos
Este exemplo usa a função DateDiff para exibir o número de dias entre uma determinada data e hoje.
Dim date2Entered As String = InputBox("Enter a date")
Try
Dim date2 As Date = Date.Parse(date2Entered)
Dim date1 As Date = Now
' Determine the number of days between the two dates.
Dim days As Long = DateDiff(DateInterval.Day, date1, date2)
' This statement has a string interval argument, and
' is equivalent to the above statement.
'Dim days As Long = DateDiff("d", date1, date2)
MessageBox.Show("Days from today: " & days.ToString)
Catch ex As Exception
MessageBox.Show("Invalid Date: " & ex.Message)
End Try
Comentários
Você pode usar a função DateDiff para determinar quantos intervalos de tempo especificados existem entre dois valores de data/hora. 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 final do ano.
Comportamento
Tratamento de parâmetros.
DateDiffsubtrai o valor deDate1do valor deDate2para produzir a diferença. Nenhum valor é alterado no programa de chamada.Valores retornados. Como
Date1eDate2são do tipo de dadosDate, eles contêm valores de data e hora precisos para tiques de 100 nanossegundos no temporizador do sistema. No entanto,DateDiffsempre retorna o número de intervalos de tempo como um valorLong.Se
Date1representar uma data e hora posteriores aDate2,DateDiffretornará um número negativo.Intervalos de dia. Se
Intervalestiver definido comoDateInterval.DayOfYear, ele será tratado da mesma forma queDateInterval.Day, porqueDayOfYearnão é uma unidade significativa para um intervalo de tempo.Intervalos de semana. Se
Intervalestiver definido comoDateInterval.WeekOfYear, o valor retornado representará o número de semanas entre o primeiro dia da semana que contémDate1e o primeiro dia da semana que contémDate2. O exemplo a seguir mostra como isso produz resultados diferentes deDateInterval.Weekday.' The following statements set datTim1 to a Thursday ' and datTim2 to the following Tuesday. Dim datTim1 As Date = #1/4/2001# Dim datTim2 As Date = #1/9/2001# ' Assume Sunday is specified as first day of the week. Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2) Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)No exemplo anterior,
DateDiffretorna 0 awDporque a diferença entre as duas datas é menor que sete dias, mas retorna de 1 awYporque há uma diferença de sete dias entre os primeiros dias das respectivas semanas do calendário.Intervalos maiores. Se
Intervalestiver definido comoDateInterval.Year, o valor retornado será calculado somente a partir das partes do ano deDate1eDate2. Da mesma forma, o valor retornado paraDateInterval.Monthé calculado puramente a partir das partes ano e mês dos argumentos e paraDateInterval.Quarterdos trimestres que contêm as duas datas.Por exemplo, ao comparar 31 de dezembro a 1º de janeiro do ano seguinte,
DateDiffretorna 1 paraDateInterval.Year,DateInterval.QuarterouDateInterval.Month, embora no máximo apenas um dia tenha decorrido.Para culturas como japonês que têm várias eras, o método
DateDiffnão retorna uma diferença em anos se a diferença abrange duas ou mais eras. Em vez disso, você pode calcular a diferença de valores retornados pela propriedade Year, conforme mostrado no exemplo a seguir:date2.Year - date1.Year.Outros intervalos. Como cada valor
Dateé suportado por uma estrutura DateTime, seus métodos oferecem opções adicionais para encontrar intervalos de tempo. Por exemplo, você pode usar o métodoSubtractem qualquer um de seus formulários sobrecarregados: DateTime.Subtract subtrai um TimeSpan de uma variável deDatepara retornar outro valorDatee DateTime.Subtract subtrai um valorDatepara retornar um TimeSpan. Você pode cronometrar um processo para descobrir quantos milissegundos são necessários, como mostra o exemplo a seguir.Dim startTime As Date = Now ' Run the process that is to be timed. Dim runLength As Global.System.TimeSpan = Now.Subtract(startTime) Dim millisecs As Double = runLength.TotalMilliseconds
O argumento Interval pode ter uma das seguintes configurações.
| Valor de enumeração | Valor da cadeia de caracteres | Diferença de unidade de tempo |
|---|---|---|
DateInterval.Day |
"d" | Dia |
DateInterval.DayOfYear |
"y" | Dia |
DateInterval.Hour |
"h" | Hora |
DateInterval.Minute |
"n" | Minuto |
DateInterval.Month |
"m" | Mês |
DateInterval.Quarter |
"q" | Quarto |
DateInterval.Second |
"s" | Segundo |
DateInterval.Weekday |
"w" | Semana |
DateInterval.WeekOfYear |
"ww" | Semana do calendário |
DateInterval.Year |
"yyyyy" | Ano |
O argumento DayOfWeek pode ter uma das seguintes configurações.
| Valor de enumeração | Valor | Descrição |
|---|---|---|
FirstDayOfWeek.System |
0 | Primeiro dia da semana especificado nas configurações do sistema |
FirstDayOfWeek.Sunday |
1 | Domingo (padrão) |
FirstDayOfWeek.Monday |
2 | Segunda-feira (em conformidade com o ISO standard 8601, seção 3.17) |
FirstDayOfWeek.Tuesday |
3 | Terça-feira |
FirstDayOfWeek.Wednesday |
4 | Quarta-feira |
FirstDayOfWeek.Thursday |
5 | Quinta-feira |
FirstDayOfWeek.Friday |
6 | Sexta-feira |
FirstDayOfWeek.Saturday |
7 | Sábado |
O argumento WeekOfYear pode ter uma das seguintes configurações.
| Valor de enumeração | Valor | Descrição |
|---|---|---|
FirstWeekOfYear.System |
0 | Primeira semana do ano especificada nas configurações do sistema |
FirstWeekOfYear.Jan1 |
1 | Semana em que 1º de janeiro ocorre (padrão) |
FirstWeekOfYear.FirstFourDays |
2 | Semana que tem pelo menos quatro dias no ano novo (em conformidade com o ISO standard 8601, seção 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Primeira semana completa do ano novo |
Confira também
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- resumo do tipo de dados (Visual Basic)