Возвращает разность двух дат, измеряемых с заданным интервалом
Синтаксис
Использование
#include "vbcompat.bi"
result = DateDiff( interval, date_serial1, date_serial2 [, firstdayofWeek [, firstweekofyear ] ] )
Параметры
interval
единица времени (интервал) с которым измеряется разница
date_serial1
Начальная серийная дата
date_serial2
Конечная серийная дата
firstdayofweek
первый день недели
firstdayofyear
первый день в году
Возвращаемое значение
Возвращает целое число, соответствующее количеству
intervals
, найденное между двумя
Date Serials(серийными
датами).
Если
date_serial1 >
date_serial2,
результат отрицательный.
Описание
interval определяется следующим образом:
значение |
интервал |
yyyy | годы |
q |
квартал(три месяца) |
m | месяцы |
w |
неделя |
ww | календарная неделя |
d,y |
дни |
h | часы |
n |
минуты |
s | секунды |
first_dayofweek влияет на подсчет когда используется
интервал
'ww'.
значение |
первый день недели | константа |
опущен | воскресенье | |
0 |
локальные настройки | fbUseSystem |
1 |
воскресенье | fbSunday |
2 |
понедельник | fbMonday |
3 |
вторник | fbTuesday |
4 |
среда | fbWednesday |
5 |
четверг | fbThursday |
6 |
пятница | fbFriday |
7 |
суббота | fbSaturday |
first_weekofyear определяет первую неделю года.
значение |
первая неделя года | константа |
0 |
локальные настройки | fbUseSystem |
1 |
неделя, на которую приходится 1 января | fbFirstJan1 |
2 |
неделя, на которую приходится не меньше четырех
дней нового года | fbFirstFourDays |
3 |
первая полная неделя в новом году | fbFirstFullWeek |
Обратите внимание, если вы делаете арифметическое вычитание двух серийных
дат, вы получаете разницу в днях.
Компилятор не распознает эту функцию если не включен
vbcompat.bi
или
datetime.bi.
Пример
#include "vbcompat.bi"
Dim s As String, d1 As Double, d2 As Double
Line Input "Enter your birthday: ", s
If IsDate( s ) Then
d1 = DateValue( s )
d2 = Now()
Print "You are " & DateDiff( "yyyy", d1, d2 ) & " years old."
Print "You are " & DateDiff( "d", d1, d2 ) & " days old."
Print "You are " & DateDiff( "s", d1, d2 ) & " seconds old."
Else
Print "Invalid date"
End If
Отличия от QB
- В QB не существует. Эта функция появилась в Visual Basic.
См. также