Страница 1 из 1

Разница в месяцах между датами - как посчитать?

Добавлено: 21 дек 2018, 00:16
alcompstudio
Приветствую, ув. коллеги!

Есть задачка подсчитать количество месяцев между датами. Конкретно есть поле с типом дата. И нужно вывести результат сколько месяцев прошло на сегодняшнее число. Т.е. например, в поле с датой стоит 01.07.2018, а в результате на сегодняшнее число (сейчас 20.12.2018) должен выводиться результат = 5.

Пытаюсь в поле формула MySQL ввести такую конструкцию:

Код: Выделить всё

MONTH([TODAY])-MONTH([346])
, где [346] - поле с датой, [TODAY] - по идее должно выводить текущую дату. Но результат не выводится.

Если просто поставить

Код: Выделить всё

MONTH('2018-12-20')-MONTH('2018-07-01')
, то результат отображается, все правильно выводится (число 5).

Какую формулу использовать? Как правильно записать функции, кто может подсказать?

Re: Разница в месяцах между датами - как посчитать?

Добавлено: 21 дек 2018, 00:46
alcompstudio
Сейчас использую такую конструкцию:

Код: Выделить всё

FLOOR(([TODAY]-[346])/2592000)
но может есть более верное решение, с учетом подходящих функций даты MySQL?

Re: Разница в месяцах между датами - как посчитать?

Добавлено: 21 дек 2018, 02:19
alcompstudio
http://prntscr.com/lxooas

тут подошло бы в месяцах как раз ;)

Re: Разница в месяцах между датами - как посчитать?

Добавлено: 21 дек 2018, 07:10
support
Согласен, добавил в план:)

Re: Разница в месяцах между датами - как посчитать?

Добавлено: 13 май 2019, 12:27
support
Новый тип поля добавлен

Re: Разница в месяцах между датами - как посчитать?

Добавлено: 28 ноя 2019, 19:24
КонстантинН
Предлагаю, в настройках этого типа поля добавить опцию "цвет" в зависимости от результата вычисления, как у поля "дата". Для выделения записей, у которых осталось мало времени. Сейчас приходится 2 поля выводить дату и разницу, чтобы и цвет получить и цифру.
Или, в идеале, сделать дату с указанием разницы в скобках или наоборот разница с указанием даты в скобках и возможность цветом выделять. Например, Дедлайн - 29.11.2019 (1 день) или Осталось - 1 день (до 29.11.2019).