Использование функций даты и времени

Microsoft Access хранит значения дат и времени как десятичные числа длиной восемь байт. Чтобы сообщить Access о том, что вы вводите дату и время, заключите значение в символы числа (#). Для указания конкретной даты используйте нотацию, которая вам кажется наиболее удобной. Например, #15 апреля 2008#, #15/04/08# и #15-апр-2008# определяют одну и ту же дату. Точно так же #5:30 PM# и #17:30# определяют время «семнадцать часов тридцать минут».

Access предоставляет несколько функций, которые могут оказаться полезными при задании условий отбора для дат и времени. Ниже приведены описания основных функций для работы с датами и временем (таблица 1).


Таблица 1 – Описание функций даты и времени

Функция Описание
Day(дата) Возвращает значение дня месяца в диапазоне от 1 до 31
Year(дата) Возвращает значение года в диапазоне от 100 до 9999
Month(дата) Возвращает значение месяца года в диапазоне от 1 до 12
Weekday(дата) По умолчанию возвращает целое число от 1 (Воскресенье) до 7 (Суббота), соответствующее дню недели
Hour(дата) Возвращает целое число от 0 до 23, представляющее значение часа
Now() Возвращает дату и время часов компьютера.
Date() Возвращает текущую системную дату
DateDiff() Находит разницу между двумя датами

 

Приведем примеры использования функций для работы с датами и временем (таблица 2).

Таблица 2 – Примеры применения функций

Поле Выражение Описание
Дата доставки < Date( )- 30 Использует функцию Date для отображения заказов, сделанных ранее, чем 30 дней назад.
Дата отправки Year([Дата отправки])=2008 Использует функцию Year для отображения заказов, сделанных в 2008 году.
Дата доставки Year([Доставка]![Дата доставки])=Year(Date()) And Month([Доставка]![Дата доставки])=Month(Date()) Использует функции Year и Month, а также оператор And для отображения доставок текущего года и месяца.
Разница между датами DateDiff(“d“; #12.04.2007#; #28.04.2007#) = 16 Находит разницу между двумя датами (“d“ – в днях, “ww”– в неделях, “m” – в месяцах, “yyyy” – в годах и др. ), в данном случае разница должна составлять 16 дней.