1. Главная страница
  2. ››
  3. Формулы
  4. ››
  5. Отображаем месяц в дате словами - Upline Studio

Отображаем месяц в дате словами - Upline Studio

Задача

Записать дату с месяцем словами. Например, превратить запись 15.01.2023 в 15 января 2023.

Формула

let({
  fdate: let({
  format: 'DAY.MONTH.YEAR',
  date: boardList.current.deadline,
}, let({ dateStr: toString(toDate(date)) }, reduce([
  ['YEAR', substr(dateStr, 0, 4)],
  ['MONTH', substr(dateStr, 5, 2)],
  ['DAY', substr(dateStr, 8, 2)],
  ['HOUR', substr(dateStr, 11, 2)],
  ['MINUTE', substr(dateStr, 14, 2)],
  ['SECOND', substr(dateStr, 17, 2)],
], replace(value, item[0], item[1]), format))),
  monthr: split(fdate,'.')[1],
  mtext: if(monthr == "01", "января", 
if(monthr == "02", "февраля",
if(monthr == "03", "марта",
if(monthr == "04", "апреля", 
if(monthr == "05", "мая",
if(monthr == "06", "июня",
if(monthr == "07", "июля", 
if(monthr == "08", "августа",
if(monthr == "09", "сентября",
if(monthr == "10", "октября", 
if(monthr == "11", "ноября", "декабря"))))))))))),
},
split(fdate,'.')[0] &' '& mtext &' '& split(fdate,'.')[2]
)

Полный анализ формулы

Эта формула выполняет следующие действия:

1. Преобразует дату и время из формата boardList.current.deadline в строковый формат 'DAY.MONTH.YEAR'. 2. Извлекает месяц из этой строки и преобразовывает его в текстовый эквивалент на русском языке (например, "01" преобразуется в "января"). 3. Возвращает строку, которая содержит день, текстовый месяц и год, разделенные пробелами.

Давайте разберемся, как это происходит, шаг за шагом.

Сначала формула преобразует дату-время из boardList.current.deadline в строку. Это достигается с помощью функций toDate() и toString(). Функция toDate() преобразует входные данные в объект даты, а функция toString() преобразует объект даты в строку mathsisfun.com.

После этого формула извлекает компоненты даты-времени из строки с помощью функции substr(). Эта функция возвращает подстроку строки, начиная с указанного индекса и до указанного количества символов splashlearn.com.

Далее формула преобразует числовое представление месяца в текстовое с помощью нескольких вложенных условий if(). Если месяц равен "01", он преобразуется в "января"; если "02", то в "февраля" и так далее simple.wikipedia.org.

Наконец, формула возвращает строку, которая содержит день, текстовый месяц и год, разделенные пробелами. Это достигается с помощью оператора &, который объединяет строки.

Источник

Дмитрий Соловей — @solovey_nchub

Другие формулы Creatium

Logo Upline Studio Creatium

Наша команда Uplinestudio разрабатывает сайты под разные потребности клиентов. Одним из ключевых направлений в нашей разработке является создание сайтов на Creatium.

Оставить заявку

Работает на Creatium