Книга: VBA для чайников

Математика дат и времени

Математика дат и времени

Сложение и вычитание дат в рамках обычных арифметических операций в VBA возможны, но, к сожалению, результаты такого сложения и вычитания не соответствуют обычным представлениям о датах. Например, #3/19/2005# - #3/19/2004#н е дает в результате '"1 год", как желательно было бы иметь, а дает #12/3 0/1900#. Такой результат обусловлен спецификой представления значений дат в VBA, но я не собираюсь здесь утомлять вас обсуждением этой специфики. Все, что вам нужно, - это знать о существовании в VBA двух функций, DateAdd ( ) и DateDiff ( ), которые должны полностью удовлетворить ваши потребности в математике дат. Использование этих функций обсуждается в главе 11.

В противоположность датам, использование обычных арифметических операций со значениями времени дает правильные результаты. Взгляните, например, на выражения в следующем фрагменте программного кода:

Di m date Then A s Date

dateThen = #07:15 AM# + #12:00# ' = #07:15:00 PM#

dateThen = #07:15:00 AM# - #0:15 AM# ' = #07:00:00 AM#

dateThen = #07:15:15 AM# + #0:0:30 AM# ' = #07:15:45 AM#

В этом примере показан минимум того, что можно напечатать. Как всегда, VBA конвертирует введенные данные в полноформатное буквальное значение времени, например #0:0:30 АМ# превратится в #12 : 00 : 30 АМ#. И еще (как показано в представленном примере): если вы хотите получить правильные результаты при использовании арифметических операций со значениями времени, то используемые при этом переменные должны явно объявляться как переменные типа Date.

Оглавление книги


Генерация: 0.049. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз