Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

Для додавання до заданої дати або часу певного проміжку часу (будь то один день або три місяці) використовується функція 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() і визначити порядок проходження дат, виходячи із знаку повернутого числа.

 




Поделиться с друзьями:


Дата добавления: 2015-05-24; Просмотров: 542; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.