Главная » Функции VBA »

Функции VBA для работы с датой/временем

  • Date() — возвращает текущую системную дату. Установить ее можно при помощи одноименного оператора, например, так:
  • Time() — возвращает текущее системное время
  • Now() — возвращает дату и время вместе.
  • DateAdd() — возможность добавить к дате указанное количество лет, кварталов, месяцев и так далее — вплоть до секунд. Интервалы(год, месяц и т.д.) указываются в текстовом формате. Список допустимых значений:
    "yyyy" Год
    "q" Квартал
    "m" Месяц
    "y" День года
    "d" День
    "w" День недели
    "ww" Неделя
    "h" Час
    "n" Минута
    "s" Секунда

    Сам синтаксис обращения незамысловат. Сначала указываем интервал, затем сколько единиц добавить и самый последний аргумент - к какой дате(включая время, кстати). Например, чтобы добавить 3 года к текущей дате-времени, надо записать функцию так:
    MsgBox DateAdd("yyyy", 3, Now)
    Но что интереснее - можно не только добавлять, но и отнимать. Функция не изменится, мы просто должны записать кол-во добавляемых периодов со знаком минус. Отнимем три года от текущей даты-времени:
    MsgBox DateAdd("yyyy", -3, Now)

  • DateDiff() — возможность получить разницу между датами (опять таки в единицах от лет до секунд).

    Первый аргумент определяет период времени, в котором необходимо вернуть разницу между датами. Допустимые значения:
    "yyyy" Год
    "q" Квартал
    "m" Месяц
    "y" День года
    "d" День
    "w" День недели
    "ww" Неделя
    "h" Час
    "n" Минута
    "s" Секунда

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

    Без этой функции вычислить кол-во полных лет гораздо сложнее.
  • DatePart() — функция возвращает указанную часть даты (например, только год, только месяц или только день недели), на основании заданной даты. Часто применяется для получения номера недели для даты.
    Первый аргумент - период времени. Принимаемые значения те же, что и для функции DateDiff(годы, месяцы, недели и т.д.)
    Второй аргумент - непосредственно дата, часть которой необходимо получить:
  • DateSerial() — возможность создать значение даты, задавая месяц, год и день числовыми значениями:
  • DateValue()— делает то же, что и DateSerial(). Отличия — в формате принимаемых значений. Эта функция в качестве аргумента принимает дату в текстовом формате и преобразует её в формат даты:

    Аналогичным образом (для времени) работают TimeSerial() и TimeValue()
  • Day(), Year(), Month(), Weekday(), Hour(), Minute(), Second() — специализированные заменители функции DatePart(), которые возвращают нужную часть даты/времени (которую именно — видно из названия).
  • MonthName() — возвращает имя месяца словами по его номеру. Возвращаемое значение зависит от региональных настроек. Если они русские, то вернется русское название месяца.
  • Timer() — возвращает количество секунд, прошедших с полуночи.

Статья помогла? Сделай твит, поделись ссылкой с друзьями!

Тренинги

Заказать
Наши партнеры

Перейти
Перейти

Счетчики

Рейтинг@Mail.ru Яндекс.Метрика
© 2018 Excel для всех  Войти