Функція DATEDIF: відмінності між версіями

Матеріал з Planfix
Перейти до: навігація, пошук
Немає опису редагування
Немає опису редагування
 
(Не показано 3 проміжні версії 3 користувачів)
Рядок 2: Рядок 2:
|title=Функція DATEDIF
|title=Функція DATEDIF
|titlemode=append
|titlemode=append
|keywords=планфікс, звіти, функції, функція DATEDIF
|keywords=planfix, звіти, функції, функція DATEDIF
|description=Функція DATEDIF
|description=Функція DATEDIF
}}
}}


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




== Формат ==
== Формат ==


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


'''DATEDIF(початкова_дата; кінцева_дата; "одиниця")'''
де початкова та кінцева дата — це або:
*перемінна
*число в лапках, наприклад "05-06-2024"
*функція, що повертає дату




'''Формат дат:'''
'''Формат дат:'''
*дата пишеться строго в порядку день-місяць-рік;
*дата пишеться строго в порядку день-місяць-рік;
*день і місяць можна писати як з провідним нулем, так і без нього, наприклад, 01.01.2000, 15.10.2000, 1.1.2000;
*день і місяць можна писати з ведучим нулем або без нього, наприклад 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);
*рік можна писати як у 4 цифри (01.01.2015), так і в 2 (01.01.15) (рік із двох цифр інтерпретується як рік поточного століття — 08.12.93 = 08.12.2093, 08.12.00 = 08.12.2000);
*розділювачем в даті може бути будь-який символ (крім цифри). Якщо розділювач - точка (15.10.2020), дату не потрібно брати в лапки, а якщо '''/''' або '''-''' (15/10/2020 або 15-10-2020) — то тільки в лапках.
*роздільником у даті може бути будь-який символ (крім цифри), дату потрібно брати в лапки.




'''Одиниці:'''
'''Одиниці:'''


*'''d''' — різниця в днях.
*'''d''' — різниця у днях.


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


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




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


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




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


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




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


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




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


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


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




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


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


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


== Приклад ==
== Приклад ==
DATEDIF(<nowiki>{{Завдання.Дата створення}}; {{Завдання.Дата подання звіту за законом}}</nowiki>; "d")
DATEDIF(<nowiki>{{Task.Creation date}}; {{Task.Дата здачі звіту за законом}}</nowiki>; "d")




== Перейти ==
== Перейти ==
*[[Функції| Формули]]
*[[Функції]]
*[[Обчислювані поля]]
*[[Обчислювані поля]]
*[[Звіти]]
*[[Звіти]]

Поточна версія на 12:57, 23 листопада 2025

Функція 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")


Перейти