다음을 통해 공유


DateAndTime.DateDiff 메서드

정의

Date 값 사이의 시간 간격 수를 지정하는 값을 반환합니다.

오버로드

Name Description
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)

Date1Date2 서 두 Date 값 사이의 시간 간격 수를 지정하는 긴 값을 제공합니다.

DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)

Date1Date2 서 두 Date 값 사이의 시간 간격 수를 지정하는 긴 값을 제공합니다.

DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)

Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb

Date1Date2 서 두 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

매개 변수

Interval
DateInterval

필수. DateInterval 사이의 차이 Date1Date2단위로 사용할 시간 간격을 나타내는 열거형 값 또는 문자열 식입니다.

Date1
DateTime

필수. 계산에 사용할 첫 번째 날짜/시간 값입니다.

Date2
DateTime

필수. 계산에 사용할 두 번째 날짜/시간 값입니다.

DayOfWeek
FirstDayOfWeek

선택적. 요일을 FirstDayOfWeek 지정하는 열거형에서 선택한 값입니다. 지정되지 않은 경우 Sunday가 사용됩니다.

WeekOfYear
FirstWeekOfYear

선택적. 연도의 FirstWeekOfYear 첫 번째 주를 지정하는 열거형에서 선택한 값입니다. 지정되지 않은 경우 Jan1가 사용됩니다.

반환

Date 값 사이의 시간 간격 수를 지정하는 긴 값입니다.

예외

Date1, Date2또는 DayofWeek 범위를 벗어났습니다.

Date1 또는 Date2 잘못된 형식입니다.

예제

이 예제에서는 함수를 DateDiff 사용하여 지정된 날짜와 오늘 사이의 일 수를 표시합니다.

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

설명

이 함수를 DateDiff 사용하여 두 날짜/시간 값 사이에 존재하는 지정된 시간 간격 수를 확인할 수 있습니다. 예를 들어 두 날짜 사이의 일 수 또는 오늘과 연말 사이의 주 수를 계산하는 데 사용할 DateDiff 수 있습니다.

행동

  • 매개 변수 처리 DateDiff 값을 Date1Date2 빼서 차이를 생성합니다. 호출 프로그램에서는 두 값이 모두 변경되지 않습니다.

  • 값을 반환합니다. Date1 Date2 데이터 형식이므로 시스템 타이머에서 Date 날짜 및 시간 값을 100나노초 틱으로 정확하게 유지합니다. 그러나 DateDiff 항상 시간 간격 수를 값으로 Long 반환합니다.

    이후 날짜와 시간을 나타내는 Date2DateDiff 경우 Date1 음수를 반환합니다.

  • 일 간격입니다. 설정된 DateInterval.DayOfYear경우 Interval 시간 간격에 대한 의미 있는 단위가 아니므로 DayOfYear 동일한 단위로 DateInterval.Day처리됩니다.

  • 주 간격입니다. 이 값으로 DateInterval.WeekOfYear설정된 경우 Interval 반환 값은 포함된 주의 첫째 날과 포함하는 Date1Date2주의 첫째 날 사이의 주 수를 나타냅니다. 다음 예제에서는 다른 결과를 DateInterval.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)
    

    앞의 예제 DateDiff 에서는 두 날짜 간의 차이가 7일 미만이므로 0 wD 을 반환하지만 각 달력 주의 첫 번째 날짜 사이에 7일 차이가 있기 때문에 1 wY 을 반환합니다.

  • 더 큰 간격. 이 값으로 설정되면 Interval 반환 값은 연도 부분과 Date2.의 연도 부분에서 Date1 만 계산DateInterval.Year됩니다. 마찬가지로 반환 값 DateInterval.Month 은 인수의 연도 및 월 부분과 DateInterval.Quarter 두 날짜가 포함된 분기에서만 계산됩니다.

    예를 들어 다음 해 12월 31일과 다음 해 DateDiff 1월 1일을 비교할 때 최대 하루만 경과하더라도 1DateInterval.YearDateInterval.Quarter을 반환합니다DateInterval.Month.

    여러 연대가 있는 일본어와 같은 문화권의 DateDiff 경우 차이가 두 개 이상의 연대에 걸쳐 있는 경우 이 메서드는 연도의 차이를 반환하지 않습니다. 대신 다음 예제date2.Year - date1.Year와 같이 속성에서 반환하는 값의 Year 차이를 계산할 수 있습니다.

  • 기타 간격. 모든 Date 값은 구조체에서 DateTime 지원되므로 해당 메서드는 시간 간격을 찾는 추가 옵션을 제공합니다. 예를 들어 오버로드된 형식 DateTime.Subtract 중 하나에서 메서드를 사용할 Subtract 수 있습니다. 변수에서 Date 다른 Date 값을 반환하도록 빼 TimeSpanDateTime.Subtract 값을 빼 Date 서 반환TimeSpan합니다. 다음 예제와 같이 프로세스 시간을 지정하여 걸리는 시간(밀리초)을 확인할 수 있습니다.

    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
    

인수에는 Interval 다음 설정 중 하나가 있을 수 있습니다.

열거형 값 문자열 값 시간 차이 단위
DateInterval.Day "d" 하루
DateInterval.DayOfYear "y" 하루
DateInterval.Hour "h"
DateInterval.Minute "n"
DateInterval.Month "m"
DateInterval.Quarter "q" 사분의 일
DateInterval.Second "s"
DateInterval.Weekday "w"
DateInterval.WeekOfYear "ww" 일정 주
DateInterval.Year "yyyy"

인수에는 DayOfWeek 다음 설정 중 하나가 있을 수 있습니다.

열거형 값 묘사
FirstDayOfWeek.System 0 시스템 설정에 지정된 요일 1일
FirstDayOfWeek.Sunday 1 일요일(기본값)
FirstDayOfWeek.Monday 2 월요일(ISO 표준 8601, 섹션 3.17 준수)
FirstDayOfWeek.Tuesday 3 화요일
FirstDayOfWeek.Wednesday 4 수요일
FirstDayOfWeek.Thursday 5 목요일
FirstDayOfWeek.Friday 6 금요일
FirstDayOfWeek.Saturday 7 토요일

인수에는 WeekOfYear 다음 설정 중 하나가 있을 수 있습니다.

열거형 값 묘사
FirstWeekOfYear.System 0 시스템 설정에 지정된 연도의 첫 번째 주
FirstWeekOfYear.Jan1 1 1월 1일이 발생하는 주(기본값)
FirstWeekOfYear.FirstFourDays 2 새해에 최소 4일이 있는 주(ISO 표준 8601, 섹션 3.17 준수)
FirstWeekOfYear.FirstFullWeek 3 새해 첫 번째 전체 주

추가 정보

적용 대상

DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)

Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb

Date1Date2 서 두 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

매개 변수

Interval
String

필수. DateInterval 사이의 차이 Date1Date2단위로 사용할 시간 간격을 나타내는 열거형 값 또는 문자열 식입니다.

Date1
Object

필수. 계산에 사용할 첫 번째 날짜/시간 값입니다.

Date2
Object

필수. 계산에 사용할 두 번째 날짜/시간 값입니다.

DayOfWeek
FirstDayOfWeek

선택적. 요일을 FirstDayOfWeek 지정하는 열거형에서 선택한 값입니다. 지정되지 않은 경우 Sunday가 사용됩니다.

WeekOfYear
FirstWeekOfYear

선택적. 연도의 FirstWeekOfYear 첫 번째 주를 지정하는 열거형에서 선택한 값입니다. 지정되지 않은 경우 Jan1가 사용됩니다.

반환

Date 값 사이의 시간 간격 수를 지정하는 긴 값입니다.

예외

Date1, Date2또는 DayofWeek 범위를 벗어났습니다.

Date1 또는 Date2 잘못된 형식입니다.

예제

이 예제에서는 함수를 DateDiff 사용하여 지정된 날짜와 오늘 사이의 일 수를 표시합니다.

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

설명

이 함수를 DateDiff 사용하여 두 날짜/시간 값 사이에 존재하는 지정된 시간 간격 수를 확인할 수 있습니다. 예를 들어 두 날짜 사이의 일 수 또는 오늘과 연말 사이의 주 수를 계산하는 데 사용할 DateDiff 수 있습니다.

행동

  • 매개 변수 처리 DateDiff 값을 Date1Date2 빼서 차이를 생성합니다. 호출 프로그램에서는 두 값이 모두 변경되지 않습니다.

  • 값을 반환합니다. Date1 Date2 데이터 형식이므로 시스템 타이머에서 Date 날짜 및 시간 값을 100나노초 틱으로 정확하게 유지합니다. 그러나 DateDiff 항상 시간 간격 수를 값으로 Long 반환합니다.

    이후 날짜와 시간을 나타내는 Date2DateDiff 경우 Date1 음수를 반환합니다.

  • 일 간격입니다. 설정된 DateInterval.DayOfYear경우 Interval 시간 간격에 대한 의미 있는 단위가 아니므로 DayOfYear 동일한 단위로 DateInterval.Day처리됩니다.

  • 주 간격입니다. 이 값으로 DateInterval.WeekOfYear설정된 경우 Interval 반환 값은 포함된 주의 첫째 날과 포함하는 Date1Date2주의 첫째 날 사이의 주 수를 나타냅니다. 다음 예제에서는 다른 결과를 DateInterval.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)
    

    앞의 예제 DateDiff 에서는 두 날짜 간의 차이가 7일 미만이므로 0 wD 을 반환하지만 각 달력 주의 첫 번째 날짜 사이에 7일 차이가 있기 때문에 1 wY 을 반환합니다.

  • 더 큰 간격. 이 값으로 설정되면 Interval 반환 값은 연도 부분과 Date2.의 연도 부분에서 Date1 만 계산DateInterval.Year됩니다. 마찬가지로 반환 값 DateInterval.Month 은 인수의 연도 및 월 부분과 DateInterval.Quarter 두 날짜가 포함된 분기에서만 계산됩니다.

    예를 들어 다음 해 12월 31일과 다음 해 DateDiff 1월 1일을 비교할 때 최대 하루만 경과하더라도 1DateInterval.YearDateInterval.Quarter을 반환합니다DateInterval.Month.

    여러 연대가 있는 일본어와 같은 문화권의 DateDiff 경우 차이가 두 개 이상의 연대에 걸쳐 있는 경우 이 메서드는 연도의 차이를 반환하지 않습니다. 대신 다음 예제date2.Year - date1.Year와 같이 속성에서 반환하는 값의 Year 차이를 계산할 수 있습니다.

  • 기타 간격. 모든 Date 값은 구조체에서 DateTime 지원되므로 해당 메서드는 시간 간격을 찾는 추가 옵션을 제공합니다. 예를 들어 오버로드된 형식 DateTime.Subtract 중 하나에서 메서드를 사용할 Subtract 수 있습니다. 변수에서 Date 다른 Date 값을 반환하도록 빼 TimeSpanDateTime.Subtract 값을 빼 Date 서 반환TimeSpan합니다. 다음 예제와 같이 프로세스 시간을 지정하여 걸리는 시간(밀리초)을 확인할 수 있습니다.

    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
    

인수에는 Interval 다음 설정 중 하나가 있을 수 있습니다.

열거형 값 문자열 값 시간 차이 단위
DateInterval.Day "d" 하루
DateInterval.DayOfYear "y" 하루
DateInterval.Hour "h"
DateInterval.Minute "n"
DateInterval.Month "m"
DateInterval.Quarter "q" 사분의 일
DateInterval.Second "s"
DateInterval.Weekday "w"
DateInterval.WeekOfYear "ww" 일정 주
DateInterval.Year "yyyy"

인수에는 DayOfWeek 다음 설정 중 하나가 있을 수 있습니다.

열거형 값 묘사
FirstDayOfWeek.System 0 시스템 설정에 지정된 요일 1일
FirstDayOfWeek.Sunday 1 일요일(기본값)
FirstDayOfWeek.Monday 2 월요일(ISO 표준 8601, 섹션 3.17 준수)
FirstDayOfWeek.Tuesday 3 화요일
FirstDayOfWeek.Wednesday 4 수요일
FirstDayOfWeek.Thursday 5 목요일
FirstDayOfWeek.Friday 6 금요일
FirstDayOfWeek.Saturday 7 토요일

인수에는 WeekOfYear 다음 설정 중 하나가 있을 수 있습니다.

열거형 값 묘사
FirstWeekOfYear.System 0 시스템 설정에 지정된 연도의 첫 번째 주
FirstWeekOfYear.Jan1 1 1월 1일이 발생하는 주(기본값)
FirstWeekOfYear.FirstFourDays 2 새해에 최소 4일이 있는 주(ISO 표준 8601, 섹션 3.17 준수)
FirstWeekOfYear.FirstFullWeek 3 새해 첫 번째 전체 주

추가 정보

적용 대상