Функція DATEDIF

Матеріал з Planfix
Версія від 12:57, 23 листопада 2025, створена Pas (обговорення | внесок)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до: навігація, пошук

Функція DATEDIF — обчислює кількість днів, місяців або років між двома датами. Початкова дата має бути раніше або дорівнювати кінцевій, інакше функція поверне «ERROR».


Формат

DATEDIF(початкова_дата; кінцева_дата; "одиниця")

де початкова та кінцева дата — це або:

  • перемінна
  • число в лапках, наприклад "05-06-2024"
  • функція, що повертає дату


Формат дат:

  • дата пишеться строго в порядку день-місяць-рік;
  • день і місяць можна писати з ведучим нулем або без нього, наприклад 01.01.2000, 15.10.2000, 1.1.2000;
  • рік можна писати як у 4 цифри (01.01.2015), так і в 2 (01.01.15) (рік із двох цифр інтерпретується як рік поточного століття — 08.12.93 = 08.12.2093, 08.12.00 = 08.12.2000);
  • роздільником у даті може бути будь-який символ (крім цифри), дату потрібно брати в лапки.


Одиниці:

  • d — різниця у днях.

Приклад 1: початкова_дата 25.02.2007, кінцева_дата 26.02.2007 Результат: 1 (день).

Приклад 2: початкова_дата 01.02.2007, кінцева_дата 01.03.2007 Результат: 28 (днів)

Приклад 3: початкова_дата 28.02.2008, кінцева_дата 01.03.2008 Результат: 2 (дні), оскільки 2008 рік — високосний


  • m — різниця у повних місяцях.

Приклад 1: початкова_дата 01.02.2007, кінцева_дата 01.03.2007 Результат: 1 (місяць)

Приклад 2: початкова_дата 01.03.2007, кінцева_дата 31.03.2007 Результат: 0

Приклад 3: початкова_дата 01.02.2007, кінцева_дата 01.03.2009 Результат: 25 місяців

Приклад 4: початкова_дата 31.03.2007, кінцева_дата 01.05.2007 Результат: 1 (місяць)

Приклад 5: початкова_дата 01.04.2007, кінцева_дата 01.05.2007 Результат: 1 (місяць)

Приклад 6: початкова_дата 31.03.2007, кінцева_дата 30.04.2007 Результат: 0


  • y — різниця у повних роках.

Приклад 1: початкова_дата 01.02.2007, кінцева_дата 01.03.2009 Результат: 2 (роки)

Приклад 2: початкова_дата 01.04.2007, кінцева_дата 01.03.2009 Результат: 1 (рік)


  • ym — різниця у повних місяцях без урахування років.

Приклад 1: початкова_дата 01.02.2007, кінцева_дата 01.03.2009 Результат: 1 (місяць) — порівнюються кінцева дата 01.03.2009 і модифікована початкова дата 01.02.2009 (рік початкової дати замінюється роком кінцевої дати, оскільки 01.02 менше ніж 01.03).

Приклад 2: початкова_дата 01.04.2007, кінцева_дата 01.03.2009 Результат: 11 (місяців) — порівнюються кінцева дата 01.03.2009 і модифікована початкова дата 01.04.2008 (рік початкової дати замінюється роком кінцевої дати за вирахуванням 1 року, оскільки 01.04 більше ніж 01.03).


  • md — різниця у днях без урахування місяців і років.

Початкова дата вирівнюється під кінцеву дату для порівняння з нею.

Приклад 1: початкова_дата 31.08.2007, кінцева_дата 01.05.2008 — початкова дата перетворюється на 31.04.2008. Але в квітні 30 днів, тому 31-е квітня вирівнюється й стає 30 квітня. Так само працює і з лютим, включаючи високосні роки (тобто не буде неіснуючих чисел лютого, замість цього вони заміняться останнім числом лютого для року кінцевої дати).


  • yd — різниця у днях без урахування років.

Приклад 1: початкова_дата 01.01.2007, кінцева_дата 31.12.2007 Результат: 364 (дні)

Приклад 2: початкова_дата 01.01.2008, кінцева_дата 31.12.2008 Результат: 365 (днів), оскільки 2008 рік — високосний

Приклад

DATEDIF({{Task.Creation date}}; {{Task.Дата здачі звіту за законом}}; "d")


Перейти