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
필수.
DateInterval 열거형 값 또는 Date1
Date2
간의 차이 단위로 사용할 시간 간격을 나타내는 문자열 식입니다.
- 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
차이를 생성하기 위해Date2
값에서Date1
값을 뺍니다. 호출 프로그램에서는 두 값이 모두 변경되지 않습니다.값을 반환합니다.
Date1
및Date2
Date
데이터 형식이므로 시스템 타이머에서 날짜 및 시간 값을 100나노초 틱으로 정확하게 유지합니다. 그러나DateDiff
항상 시간 간격 수를Long
값으로 반환합니다.Date1
Date2
이후 날짜 및 시간을 나타내는 경우DateDiff
음수를 반환합니다.일 간격입니다.
Interval
DateInterval.DayOfYear
설정된 경우DayOfYear
시간 간격에 대한 의미 있는 단위가 아니므로DateInterval.Day
동일하게 처리됩니다.주 간격입니다.
Interval
DateInterval.WeekOfYear
설정된 경우 반환 값은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
두 날짜 간의 차이가 7일 미만이므로 0에서wD
반환하지만, 각 달력 주의 첫 번째 날짜 사이에 7일 간의 차이가 있기 때문에 1에서wY
반환합니다.더 큰 간격.
Interval
DateInterval.Year
설정하면 반환 값은Date1
및Date2
연도 부분에서만 계산됩니다. 마찬가지로DateInterval.Month
반환 값은 인수의 연도 및 월 부분과 두 날짜가 포함된 분기의DateInterval.Quarter
순수하게 계산됩니다.예를 들어 12월 31일과 다음 해 1월 1일을 비교할 때
DateDiff
DateInterval.Year
,DateInterval.Quarter
또는DateInterval.Month
대해 1을 반환합니다.연대가 여러 개 있는 일본어와 같은 문화권의 경우 차이가 두 개 이상의 연대에 걸쳐 있는 경우
DateDiff
메서드는 연도의 차이를 반환하지 않습니다. 대신 다음 예제와 같이 Year 속성에서 반환되는 값의 차이를 계산할 수 있습니다.date2.Year - date1.Year
.기타 간격. 모든
Date
값은 DateTime 구조체에서 지원되므로 해당 메서드는 시간 간격을 찾는 추가 옵션을 제공합니다. 예를 들어 오버로드된 형식 중 하나에서Subtract
메서드를 사용할 수 있습니다. DateTime.SubtractDate
변수에서 TimeSpan 빼서 다른Date
값을 반환하고 DateTime.SubtractDate
값을 빼서 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 | 새해 첫 번째 전체 주 |
추가 정보
- 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
필수.
DateInterval 열거형 값 또는 Date1
Date2
간의 차이 단위로 사용할 시간 간격을 나타내는 문자열 식입니다.
- 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
차이를 생성하기 위해Date2
값에서Date1
값을 뺍니다. 호출 프로그램에서는 두 값이 모두 변경되지 않습니다.값을 반환합니다.
Date1
및Date2
Date
데이터 형식이므로 시스템 타이머에서 날짜 및 시간 값을 100나노초 틱으로 정확하게 유지합니다. 그러나DateDiff
항상 시간 간격 수를Long
값으로 반환합니다.Date1
Date2
이후 날짜 및 시간을 나타내는 경우DateDiff
음수를 반환합니다.일 간격입니다.
Interval
DateInterval.DayOfYear
설정된 경우DayOfYear
시간 간격에 대한 의미 있는 단위가 아니므로DateInterval.Day
동일하게 처리됩니다.주 간격입니다.
Interval
DateInterval.WeekOfYear
설정된 경우 반환 값은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
두 날짜 간의 차이가 7일 미만이므로 0에서wD
반환하지만, 각 달력 주의 첫 번째 날짜 사이에 7일 간의 차이가 있기 때문에 1에서wY
반환합니다.더 큰 간격.
Interval
DateInterval.Year
설정하면 반환 값은Date1
및Date2
연도 부분에서만 계산됩니다. 마찬가지로DateInterval.Month
반환 값은 인수의 연도 및 월 부분과 두 날짜가 포함된 분기의DateInterval.Quarter
순수하게 계산됩니다.예를 들어 12월 31일과 다음 해 1월 1일을 비교할 때
DateDiff
DateInterval.Year
,DateInterval.Quarter
또는DateInterval.Month
대해 1을 반환합니다.연대가 여러 개 있는 일본어와 같은 문화권의 경우 차이가 두 개 이상의 연대에 걸쳐 있는 경우
DateDiff
메서드는 연도의 차이를 반환하지 않습니다. 대신 다음 예제와 같이 Year 속성에서 반환되는 값의 차이를 계산할 수 있습니다.date2.Year - date1.Year
.기타 간격. 모든
Date
값은 DateTime 구조체에서 지원되므로 해당 메서드는 시간 간격을 찾는 추가 옵션을 제공합니다. 예를 들어 오버로드된 형식 중 하나에서Subtract
메서드를 사용할 수 있습니다. DateTime.SubtractDate
변수에서 TimeSpan 빼서 다른Date
값을 반환하고 DateTime.SubtractDate
값을 빼서 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 | 새해 첫 번째 전체 주 |
추가 정보
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- 데이터 형식 요약(Visual Basic)
적용 대상
.NET