Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_5-6.docx
Скачиваний:
7
Добавлен:
10.07.2019
Размер:
334.1 Кб
Скачать

Додавання і віднімання дати або часу

Для додавання до заданої дати або часу певного проміжку часу (будь то один день або три місяці) використовується функція DateAdd(). Функція Dateadd() має наступний синтаксис:

DateAdd(interval, number, date) As Date

Всі три параметри функції є обов'язковими. Перший параметр – не числовий, він визначає що додається (місяць, день, хвилина і так далі). Нижче в таблиці міститься список можливих значень для intervаl.

Не числове значення

Рядок

Часовий інтервал, що додається

DateInterval.Day

d

День, округляється до цілих значень

DateInterval.DayOfYear

y

День року, округляється до цілих значень

DateInterval.Hour

h

Година, округляється до найближчої мілісекунди

DateInterval Minute

n

Хвилина, округляється до найближчої мілісекунди

DateInterval.Monht

m

Місяць, округляється до цілих значень

DateInterval.Quarter

q

Квартал, округляється до цілих значень

DateInterval.Second

s

Секунда, округляється до найближчої мілісекунди

DateInterval.Weekday

w

День тижня, округляється до цілих значень

DateInterval.WeekOfYear

ww

Тиждень, округляється до цілих значень

DateInterval.Year

yyyy

Рік, округляється до цілих значень

Другий параметр показує, скільки додається до дати. Останній параметр - дата, до якої додається. Якщо параметр number має від’ємне значення замість збільшення відбувається зменшення. Наприклад, для додавання 6 місяців до даті 7/22/69 використовується інструкція вигляду:

Dim objmybirthday As Date = #7/22/1969#

objmybirthday = DateAdd(DateInterval.Month, 6, objmybirthday))

Після виконання програмного коду Objmybirthday міститиме значення 1/22/1970 0:00:00.

Замість нецифрових значень можна використовувати відповідні літеральні рядки (див. табл., другий стовпець). Наприклад, останню інструкцію можна переписати у вигляді objmybirthday = DateAdd("m", 6, objmybirthday)

Представлені програмні коди показують, які значення повертаються при використанні функції DateAdd() з різними значеннями:

DateAdd(DateInterval.Year, 2, #3/3/1968#) ' Повертає 3/3/70

DateAdd(DateInterval.Month, 5, #5/14/1998#) ' Повертає 10/14/1998

DateAdd(DateInterval.Month, -1, #3/6/2000#) ' Повертає 2/6/2000

Visual Basic при операціях додавання або віднімання використовує календарний місяць. Наприклад, інструкція DateAdd("m", 1, #1/31/1969#) повертає дату 2/28/1969. В лютому місяці менше ніж 31 день, тому Visual Basic повертає останній день місяця.

Визначення інтервалу між двома значеннями часу або датами

Функція DateAdd () дозволяє легко і просто додавати або віднімати будь-які проміжки часу від дат або часу. Також легко можна набути значення інтервалу між двома існуючими датами або значеннями часу, якщо застосувати функцію DateDiff(). Функція DateDiff() має наступний синтаксис:

DateDiff(interval, Date1, Date2) As Long

Параметр intervаl може приймати такі ж значення, що і параметр intervаl функції DateAdd() (див. табл. вище). Функція DateDiff() повертає число, яке показує кількість тимчасових інтервалів між двома датами. Наприклад, представлений код програми виведе у вікні повідомлення 9 - кількість тижнів між двома датами:

Dim objstartday As Date = #10/10/2001#

Dim objendday As Date = #12/10/2001#

MsgBox((DateDiff(DateInterval.WeekOfYear, objstartday, objendday)))

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

DateDiff(DateInterval.WeekOfYear, #7/22/1969#, #10/22/2001#) 'Повертає 32

DateDiff(DateInterval.Month, #3/3/1992#, #3/3/1990#) 'Повертає -24

DateDiff(DateInterval.Day, #3/3/1997#, #7/2/1997#) 'Повертає 121

Хочеться звернути увагу на другу інструкцію. Вона повертає -24. Від’ємне значення пояснюється тим, що перша дата наступає після другої дати. Цю властивість можна використовувати для визначення порядку слідування двох дат. Потрібно просто застосувати функцію DateDiff() і визначити порядок проходження дат, виходячи із знаку повернутого числа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]