DateAndTime.DateDiff 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
두 Date
값 사이의 시간 간격 수를 지정한 값을 반환합니다.
오버로드
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
에서 |
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
에서 |
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
- Source:
- DateAndTime.vb
- Source:
- DateAndTime.vb
- Source:
- DateAndTime.vb
에서 Date2
를 빼 Date1
서 두 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
필수 요소. Date1
과 Date2
사이의 시간차 단위로 사용할 시간 간격을 나타내는 DateInterval 열거형 값 또는 문자열 식입니다.
- Date1
- DateTime
필수 요소. 계산에 사용할 첫째 날짜/시간 값입니다.
- Date2
- DateTime
필수 요소. 계산에 사용할 둘째 날짜/시간 값입니다.
- DayOfWeek
- FirstDayOfWeek
선택 사항입니다. 주의 첫째 요일을 지정하는 FirstDayOfWeek 열거형에서 선택한 값입니다. 지정되지 않은 경우 Sunday가 사용됩니다.
- WeekOfYear
- FirstWeekOfYear
선택 사항입니다. 연도의 첫째 주를 지정하는 FirstWeekOfYear 열거형에서 선택한 값입니다. 지정되지 않은 경우 Jan1가 사용됩니다.
반환
두 Date
값 사이의 시간 간격 수를 지정한 long 값입니다.
예외
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
값을 의 값Date1
Date2
에서 빼서 차이를 생성합니다. 호출 프로그램에서는 두 값이 모두 변경되지 않습니다.값을 반환합니다.
Date1
및Date2
는 데이터 형식이므로 시스템 타이머에서Date
100나노초 틱에 정확한 날짜 및 시간 값을 보유합니다. 그러나DateDiff
는 항상 시간 간격 수를 값으로Long
반환합니다.가 보다
Date2
DateDiff
이후 날짜 및 시간을 나타내는 경우Date1
음수를 반환합니다.일 간격. 가 로 설정된 경우
Interval
는 시간 간격에 대한 의미 있는 단위가 아니므로DayOfYear
과 동일하게DateInterval.Day
처리DateInterval.DayOfYear
됩니다.주 간격. 가 로
DateInterval.WeekOfYear
설정된 경우Interval
반환 값은 를 포함하는 요일의 첫째 날과 를 포함하는Date1
Date2
요일 사이의 주 수를 나타냅니다. 다음 예제에서는 에서 다른 결과를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
에서 은 0을wD
반환합니다. 두 날짜 간의 차이는 7일 미만이지만 각 달력 주의 첫 번째 날짜 사이에는 7일의 차이가 있기 때문에 1wY
을 반환합니다.간격이 더 큽니다. 가 로 설정된 경우
Interval
반환 값은 및Date2
의Date1
연도 부분에서만 계산DateInterval.Year
됩니다. 마찬가지로 의 반환 값DateInterval.Month
은 인수의 연도 및 월 부분과DateInterval.Quarter
두 날짜가 포함된 분기에서만 계산됩니다.예를 들어 다음 해의 12월 31일과 다음 해
DateDiff
1월 1일을 비교할 때 는 최대 하루만 경과하더라도 ,DateInterval.Quarter
또는DateInterval.Month
에 대해 1DateInterval.Year
을 반환합니다.여러 시대가 있는 일본어와 같은 문화권의
DateDiff
경우 차이가 두 개 이상의 시대에 걸쳐 있는 경우 메서드는 연도의 차이를 반환하지 않습니다. 대신 다음 예제date2.Year - date1.Year
와 같이 속성에서 반환되는 값의 Year 차이를 계산할 수 있습니다.기타 간격. 모든
Date
값은 구조체에서 DateTime 지원되므로 해당 메서드는 시간 간격을 찾는 추가 옵션을 제공합니다. 예를 들어 오버로드된 형식 중 하나에서 메서드를 사용할Subtract
수 있습니다. 변수에서Date
를 TimeSpan 빼서 다른Date
값을 반환하고 DateTime.Subtract 값을 빼서 를 반환TimeSpan합니다Date
. DateTime.Subtract 다음 예제와 같이 프로세스에서 소요되는 시간(밀리초)을 확인할 수 있습니다.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" | Minute |
DateInterval.Month |
"m" | 월 |
DateInterval.Quarter |
"q" | Quarter |
DateInterval.Second |
"s" | Second |
DateInterval.Weekday |
"w" | 주 |
DateInterval.WeekOfYear |
"ww" | 달력 주 |
DateInterval.Year |
"yyyy" | Year |
인수에는 DayOfWeek
다음 설정 중 하나가 있을 수 있습니다.
열거형 값 | 값 | Description |
---|---|---|
FirstDayOfWeek.System |
0 | 시스템 설정에 지정된 요일 |
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
다음 설정 중 하나가 있을 수 있습니다.
열거형 값 | 값 | Description |
---|---|---|
FirstWeekOfYear.System |
0 | 시스템 설정에 지정된 연도의 첫 번째 주 |
FirstWeekOfYear.Jan1 |
1 | 1월 1일이 발생하는 주(기본값) |
FirstWeekOfYear.FirstFourDays |
2 | 새해에 최소 4일이 있는 주(ISO 표준 8601, 섹션 3.17 준수) |
FirstWeekOfYear.FirstFullWeek |
3 | 새해 첫 번째 전체 주 |
추가 정보
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- 데이터 형식 요약(Visual Basic)
적용 대상
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
- Source:
- DateAndTime.vb
- Source:
- DateAndTime.vb
- Source:
- DateAndTime.vb
에서 Date2
를 빼 Date1
서 두 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
필수 요소. Date1
과 Date2
사이의 시간차 단위로 사용할 시간 간격을 나타내는 DateInterval 열거형 값 또는 문자열 식입니다.
- Date1
- Object
필수 요소. 계산에 사용할 첫째 날짜/시간 값입니다.
- Date2
- Object
필수 요소. 계산에 사용할 둘째 날짜/시간 값입니다.
- DayOfWeek
- FirstDayOfWeek
선택 사항입니다. 주의 첫째 요일을 지정하는 FirstDayOfWeek 열거형에서 선택한 값입니다. 지정되지 않은 경우 Sunday가 사용됩니다.
- WeekOfYear
- FirstWeekOfYear
선택 사항입니다. 연도의 첫째 주를 지정하는 FirstWeekOfYear 열거형에서 선택한 값입니다. 지정되지 않은 경우 Jan1가 사용됩니다.
반환
두 Date
값 사이의 시간 간격 수를 지정한 long 값입니다.
예외
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
값을 의 값Date1
Date2
에서 빼서 차이를 생성합니다. 호출 프로그램에서는 두 값이 모두 변경되지 않습니다.값을 반환합니다.
Date1
및Date2
는 데이터 형식이므로 시스템 타이머에서Date
100나노초 틱에 정확한 날짜 및 시간 값을 보유합니다. 그러나DateDiff
는 항상 시간 간격 수를 값으로Long
반환합니다.가 보다
Date2
DateDiff
이후 날짜 및 시간을 나타내는 경우Date1
음수를 반환합니다.일 간격. 가 로 설정된 경우
Interval
는 시간 간격에 대한 의미 있는 단위가 아니므로DayOfYear
과 동일하게DateInterval.Day
처리DateInterval.DayOfYear
됩니다.주 간격. 가 로
DateInterval.WeekOfYear
설정된 경우Interval
반환 값은 를 포함하는 요일의 첫째 날과 를 포함하는Date1
Date2
요일 사이의 주 수를 나타냅니다. 다음 예제에서는 에서 다른 결과를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
에서 은 0을wD
반환합니다. 두 날짜 간의 차이는 7일 미만이지만 각 달력 주의 첫 번째 날짜 사이에는 7일의 차이가 있기 때문에 1wY
을 반환합니다.간격이 더 큽니다. 가 로 설정된 경우
Interval
반환 값은 및Date2
의Date1
연도 부분에서만 계산DateInterval.Year
됩니다. 마찬가지로 의 반환 값DateInterval.Month
은 인수의 연도 및 월 부분과DateInterval.Quarter
두 날짜가 포함된 분기에서만 계산됩니다.예를 들어 다음 해의 12월 31일과 다음 해
DateDiff
1월 1일을 비교할 때 는 최대 하루만 경과하더라도 ,DateInterval.Quarter
또는DateInterval.Month
에 대해 1DateInterval.Year
을 반환합니다.여러 시대가 있는 일본어와 같은 문화권의
DateDiff
경우 차이가 두 개 이상의 시대에 걸쳐 있는 경우 메서드는 연도의 차이를 반환하지 않습니다. 대신 다음 예제date2.Year - date1.Year
와 같이 속성에서 반환되는 값의 Year 차이를 계산할 수 있습니다.기타 간격. 모든
Date
값은 구조체에서 DateTime 지원되므로 해당 메서드는 시간 간격을 찾는 추가 옵션을 제공합니다. 예를 들어 오버로드된 형식 중 하나에서 메서드를 사용할Subtract
수 있습니다. 변수에서Date
를 TimeSpan 빼서 다른Date
값을 반환하고 DateTime.Subtract 값을 빼서 를 반환TimeSpan합니다Date
. DateTime.Subtract 다음 예제와 같이 프로세스에서 소요되는 시간(밀리초)을 확인할 수 있습니다.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" | Minute |
DateInterval.Month |
"m" | 월 |
DateInterval.Quarter |
"q" | Quarter |
DateInterval.Second |
"s" | Second |
DateInterval.Weekday |
"w" | 주 |
DateInterval.WeekOfYear |
"ww" | 달력 주 |
DateInterval.Year |
"yyyy" | Year |
인수에는 DayOfWeek
다음 설정 중 하나가 있을 수 있습니다.
열거형 값 | 값 | Description |
---|---|---|
FirstDayOfWeek.System |
0 | 시스템 설정에 지정된 요일 |
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
다음 설정 중 하나가 있을 수 있습니다.
열거형 값 | 값 | Description |
---|---|---|
FirstWeekOfYear.System |
0 | 시스템 설정에 지정된 연도의 첫 번째 주 |
FirstWeekOfYear.Jan1 |
1 | 1월 1일이 발생하는 주(기본값) |
FirstWeekOfYear.FirstFourDays |
2 | 새해에 최소 4일이 있는 주(ISO 표준 8601, 섹션 3.17 준수) |
FirstWeekOfYear.FirstFullWeek |
3 | 새해 첫 번째 전체 주 |
추가 정보
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- 데이터 형식 요약(Visual Basic)
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기