Свойства и методы модуля DateAndTime
Полезные средства для работы с датами и временем унаследованы от Visual Basic 6.0. Вы можете воспользоваться ими, как свойствами и методами модуля DateAndTime пространства имен Microsoft.VisualBasic[‡]. Не путайте модуль DateAndTime со структурой DateTime. Любая переменная или литерал типа даты и времени является экземпляром структуры DateTime, и чтобы воспользоваться ее свойством или методом, вы просто пишете после имени переменной или литерала точку и за ней название свойства или метода, как мы делали это в предыдущем подразделе. Модуль же DateAndTime (как и все модули) не имеет права поставлять нам свои экземпляры для хранения переменных и литералов. Он поставляет свои свойства и методы в виде функций, параметрами которых и будут наши переменные и литералы. Вот пример:
Пусть D1 = #2/14/2009 4:45:07 PM#, D2 = #2/16/2009 11:32:43 AM#. Тогда
Свойство или метод | Значение | Тип значения | Пояснения | ||||
DateDiff("h", D1, D2) | 42 | Long | Количество часов, прошедших с момента D1 до момента D2 |
На то, что нас интересуют именно часы, указывает параметр "h". Если вас в этой или других функциях интересуют минуты или другие единицы времени, воспользуйтесь следующей таблицей:
Значения строкового параметра для функций работы с датами:
Строковый параметр | Смысл | ||
yyyy | Год | ||
q | Квартал в году | ||
m | Номер месяца в году | ||
y | Номер дня в году | ||
d | Номер дня в месяце | ||
w | Номер дня в неделе (с 1 по 7, а не с 0 по 6). Неделя начинается с воскресенья | ||
ww | Номер недели в году | ||
h | Час в сутках | ||
n | Минута в часе | ||
s | Секунда в минуте |
Функция DatePart работает аналогично ряду свойств структуры DateTime .
Пусть D = # 2/14/2009 4:45:07 PM # (это суббота). Тогда
DatePart("m", D) | 2 | Integer | Функция выделяет из даты номер месяца в году | ||||
DatePart("w", D) | 7 | Integer | Поскольку неделя начинается с воскресенья, то воскресенье имеет №1, а суббота – №7. | ||||
DatePart("w", D, vbMonday) | 6 | Integer | А здесь мы попросили функцию считать первым днем недели понедельник (vbMonday) и поэтому результат она выдала привычный для нас – 6-й день - суббота |