datediff()

Назначение

Функция datediff() рассчитывает разницу в годах, дня, месяцах, часах, минутах или секундах между двумя значениями типа Дата и возвращает эту разницу как Целочисленное значение.

Синтаксис и аргументы

datediff(дата/время, дата/время, строка)

Функция datediff() принимает 3 аргумента.

  • Первые два аргумента имеют тип Дата/время.

  • Третий аргумент – размер интервала, представленный Cтроковыми данными.

Третий аргумент может быть одним из следующих значений:

  • "Y" – рассчитывает разницу в годах

  • "M" – рассчитывает разницу в месяцах

  • "D" – рассчитывает разницу в днях

  • "h" – рассчитывает разницу в часах

  • "m" – рассчитывает разницу в минутах

  • "s" – рассчитывает разницу в секундах

Возвращаемое значение

Функция возвращает Целочисленное значение, представляющее разницу между двумя датами.

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

Функция возвращает нулевое значение, если:

  • первый или второй аргумент – нулевые;

  • третий аргумент – нулевой или неверный.

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

Разница в месяцах между январем 2001 и февралем 2002 не равна 1 месяцу. Между этими двумя датами – 13 полных месяцев разницы, возвращается не 1, а 13. Самой большой единицей в этих данных был год.

Поведение функции такое же, как и при вычислении разницы между меньшими единицами, например днями, часами, минутами или секундами. Измеряется фактическое пройденное количество времени.

Примеры

datediff(#2012-09-30#,#2012-09-30#,"M") возвращает 0

datediff(#2012-10-01#,#2012-08-30#,"M") возвращает 2

datediff(#2012-09-24#,#2012-05-10 08:58:00#, "D") возвращает 136

datediff(#2012-12-19#,#2013-01-12#, "h") возвращает -576