Функція DateDiff

Повертає значення типу Variant (Long), яке задає кількість часових інтервалів між двома вказаними датами.

Див. приклади

Синтаксис

DateDiff ( interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )

Синтаксис функції DateDiff має такі аргументи:

Порада : В Access 2010 у побудовнику виразів є функція IntelliSense, за допомогою якої можна дізнатися, які аргументи необхідні для виразу. 

Аргумент

Опис

interval

Обов’язковий аргумент. Рядковий вираз, що є проміжком часу, який використовується для обчислення різниці між значеннями date1 і date2.

date1, date2

Обов’язковий аргумент типу Variant (Date). Дві дати, які потрібно використовувати в обчисленні.

firstdayofweek

Необов’язковий аргумент. Константа, яка задає перший день тижня. Якщо це значення не задано, вважається, що це неділя.

firstweekofyear

Необов’язковий аргумент. Константа, яка задає перший день року. Якщо це значення не задано, першим тижнем вважається тиждень, у який настає 1 січня.


Параметри

Аргумент interval має такі параметри:

Параметр

Опис

yyyy

Рік

q

Квартал

m

Місяць

y

День року

d

День

w

День тижня

ww

Тиждень

h

Година

n

Хвилина

s

Секунда


На початок сторінки

Аргумент firstdayofweek має такі параметри:

Константа

Значення

Опис

vbUseSystem

0

Використовуйте параметр API NLS.

vbSunday

1

Неділя (за замовчуванням)

vbMonday

2

Понеділок

vbTuesday

3

Вівторок

vbWednesday

4

Середа

vbThursday

5

Четвер

vbFriday

6

П’ятниця

vbSaturday

7

Субота


Константа

Значення

Опис

vbUseSystem

0

Використовуйте параметр API NLS.

vbFirstJan1

1

Почати з тижня, до якого належить 1 січня (за замовчуванням).

vbFirstFourDays

2

Почати з першого тижня, який має принаймні чотири дні нового року.

vbFirstFullWeek

3

Почати з першого повного тижня року.


Примітки

За допомогою функції DateDiff можна визначити, скільки вказаних проміжків часу існує між двома датами. Наприклад, ви можете використати функцію DateDiff, щоб обчислити кількість днів між двома датами або кількість тижнів від сьогоднішнього дня до кінця року.

Щоб обчислити кількість днів між датами date1 і date2, ви можете використати параметр дня року ("y") або дня ("d"). Коли як аргумент interval використано день тижня ("w"), функція DateDiff повертає кількість тижнів між двома датами. Якщо дата date1 припадає на понеділок, функція DateDiff рахує кількість понеділків до date2, причому date2 враховується, а date1 – ні. Якщо як аргумент interval використано тиждень ("ww"), функція DateDiff повертає кількість календарних тижнів між двома датами. Підраховується кількість неділь між date1 і date2. Функція DateDiff враховує date2, якщо ця дата припадає на неділю; але не враховує date1, навіть якщо це неділя.

Якщо date1 посилається на пізніший час, ніж date2, функція DateDiff повертає від’ємне число.

Аргумент firstdayofweek впливає на обчислення, у яких використовуються символи проміжку часу "w" і "ww".

Якщо date1 або date2 – це літерал дати, указаний рік стає невід’ємною частиною цієї дати. Проте, якщо date1 або date2 взято в подвійні лапки (" "), і ви опустили рік, то у ваш код щоразу вставлятиметься поточний рік, коли оцінюватиметься вираз date1 або date2. Це дає змогу написати код, який можна використовувати в різні роки.

Порівнюючи 31 грудня з 1 січня наступного року, функція DateDiff для року ("yyyy") повертає 1, незважаючи на те, що минув лише один день.

Примітка :  Для аргументів date1 і date2, якщо властивість Calendar має значення Gregorian, то й отримане значення відповідатиме григоріанському календарю. Якщо це календар хіджри, отримана дата відповідатиме цьому календарю.

На початок сторінки

Приклади

Використання функції DateDiff у виразі    Функцію DateDiff можна використовувати будь-де, де можна використовувати вирази. Припустімо, що у вас форма, за допомогою якої ви виконуєте замовлення клієнтів. У таблиці "Замовлення" у вас є поле з ім’ям "ReceiveBefore", що містить дату, до якої клієнт має отримати замовлення. Функцію DateDiff можна використовувати з текстовим полем у формі, щоб відобразити кількість днів до крайнього терміну доставки замовлення.

Припускаючи, що доставка замовлення займає десять днів, потрібно задати властивість Control Source текстового поля, як показано нижче:

=DateDiff("d", Now(), [Orders].[ReceiveBefore])-10

Якщо відкрити форму в поданні форми, у текстовому полі відобразиться кількість днів до крайнього терміну доставки замовлення. Якщо залишилося менше 10 днів, доки клієнт має отримати своє замовлення, число в текстовому полі буде від’ємним і вказуватиме, на скільки днів замовлення спізниться, якщо відвантажити його негайно.

Використання функції DateDiff у коді VBA    

Примітка : У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

У цьому прикладі функцію DateDiff використано, щоб відобразити кількість днів від заданої дати до сьогодні.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×