Skip to content

Часто используемые формулы даты

1. Обзор

В операциях с данными типа дата часто встречаются операции получения текущей даты, получения текущего времени, получения даты года, месяца и дня и так далее.

Эта статья знакомит с общими функциями обработки даты в FineBI.

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

2. Получение указанной даты и времени

Содержание реализацииформулыв конце концов
Получить текущее время
Получение текущей даты (месяц и год)=today()Если системная дата равна 11 ноября 2011 года, возвращаемое значение будет 2011-11-11
Получение текущего времени (часы, минуты, секунды)=now()Если формат ячейки обычный, а системная дата - 20 июня 2012 года, то возвращается значение 2012-06-20 14:55:57
Получение года, месяца и дня даты
Получить год=year("2011-11-11")Возвращаемое значение - 2011
Получить месяц=month("2011-11-11")Возвращаемое значение равно 11
Получить дату=day("2011-11-11")Возвращаемое значение равно 11
Получите день года/квартала/месяца/недели.
вчераNOW()-1Если системное время равно 2021-11-09 11:43:53, вернитесь к 2021-11-08 11:43:53
Первый день годаDATE(YEAR(NOW()),01,01)Если системное время равно 2011-11-11, то верните 2011-01-01
Последний день месяцаDATE(YEAR(TODAY()),MONTH(TODAY()),DAYSOFMONTH(TODAY()))Если системное время 2021-11-11, вернитесь к 2021-11-30
Количество дней в месяцеDAYSOFMONTH(now())Еслисистемное время равно 2021-11-11, верните 30
Сколько дней прошло с тех пор?DATEDIF(date(year(date),month(date),DAY(date)),today(), "D")Если дата равна 2021-10-10, а системное время - 2021-11-09, верните 29
Неделя в годуweek(today())Если дата равна 2021-10-10, верните 41
Получить время относительно текущего месяца
в том же месяце=MONTH(today())Если системная дата равна 2011-11-11, возвращаемое значение равно 11
за аналогичный период прошлого года=YEARDELTA(today(),-1)Если системная дата равна 2011-11-11, возвращаемое значение будет 2010-11-11
ultimo=date(year(today()),MONTH(today())-2,day(today()))Если системная дата равна 2011-11-11, возвращаемое значение будет 2011-09-11
ultimo=date(year(today()),MONTH(today())-1,day(today()))Если системная дата равна 2011-11-11, возвращаемое значение будет 2011-10-11
За тот же период прошлого года За последний месяц=date(year(today())-1,MONTH(today())-1,day(today()))Если системная дата равна 2011-11-11, возвращаемое значение будет 2010-10-11
Конец текущего месяца= DATEDELTA(дата(год(MONTHDELTA(дата,1)),месяц(MONTHDELTA(дата,1)),1),-1)или DATE(YEAR(date),MONTH(date)+1,1-1)Если системная дата равна 2011-11-11, возвращаемое значение будет 2011-11-30
Возьмите максимальное время в текущем измеренииПримечание: Применимо только к приборной панели.FORMAT(TODATE(MAX_AGG(DATETONUMBER(DATE))), "YYYY-MM-dd HH:mm:ss")

3. Перевод времени

Содержание реализацииформулыв конце концов
Преобразование типов данных
Преобразует строку даты в строку времени.todate() может преобразовать любые данные в форме даты в тип времени, то есть: yyyy-MM-dd.=todate("2011/11/11")Если системная дата равна 11 ноября 2011 года, возвращаемое значение будет 2011-11-11
Преобразование данных, основанных на времени, в форму даты в других форматахformat()=format("2/15/2011", "dd/MM/yyyy")Возвращаемое значение - 15/02/2011
Переход от солнечного календаря к лунному
Преобразование солнечного календаря в лунный= лунный (2011, 10, 11)Возвращаемое значение - дата по лунному календарю 11 октября 2011 года, то есть 15 сентября в год Синь Мао.
= lunar(2011,10,1)Возвращаемое значение - дата по лунному календарю, соответствующая 1 октября 2011 года, т.е. возвращаемое значение - пятый день девятого месяца года xinmao.

4. Сложение и вычитание дат

Вы можете складывать или вычитать даты с помощью трех функций datedelta(),monthdelta() иyardelta() .

Содержание реализацииформулыв конце концов
Преобразование типов данных
Сложение и вычитание дат=datedelta(today(),-1)Примечание: -1 в формуле означает минус один день или плюс соответствующее количество дней, если это положительное число.Возвращает дату дня, предшествующего текущей дате, если системная дата 2011-11-11, то возвращаемое значение будет 2011-11-10
Сложение и вычитание месяцев=monthdelta(today(),-1)Возвращает дату месяца, предшествующего текущей дате. Если системное время 2011-11-11, возвращаемое значение будет 2011-10-11
Сложение и вычитание лет=yeardelta(today(),-1)Возвращает дату года, предшествующего текущей дате. Если системная дата 2011-11-11, возвращаемое значение будет 2010-11-11