Skip to content

Instantly share code, notes, and snippets.

@dmych
Created December 28, 2023 13:16
Show Gist options
  • Save dmych/0531ea0c49a4ea49e7f40a28cb5933c3 to your computer and use it in GitHub Desktop.
Save dmych/0531ea0c49a4ea49e7f40a28cb5933c3 to your computer and use it in GitHub Desktop.
Получение даты в формате ДН ДД МЕС для использования в плагине Templater для Obsidian
// Форматирование дат по-русски
// tp - ссылка на объект tp, fmt - формат, source == true - взять дату из заголовка файла, false - текущая дата
function fmtDates(tp, fmt, source)
{
const days = ["ВС", "ПН", "ВТ", "СР", "ЧТ", "ПТ", "СБ"]
const mon = ["ЯНВ", "ФЕВ", "МАР", "АПР", "МАЯ", "ИЮН", "ИЮЛ", "АВГ", "СЕН", "ОКТ", "НОЯ", "ДЕК"]
const months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "
Декабрь"]
let dateS
if (typeof source === "string") // использовать как дату
dateS = tp.date.now("YYYY-MM-DD-d", 0, source, "YYYY-MM-DD")
else if (source)
dateS = tp.date.now("YYYY-MM-DD-d", 0, tp.file.title, "YYYY-MM-DD")
else
dateS = tp.date.now("YYYY-MM-DD-d")
let dateL = dateS.split("-")
let result = fmt.toString()
result = result.replace("YYYY", "2023")
result = result.replace("MMMM", months[Number(dateL[1] - 1)])
result = result.replace("MMM", mon[Number(dateL[1] - 1)])
result = result.replace("DD", dateL[2])
result = result.replace("ddd", days[Number(dateL[3])])
result = tp.date.now(result, 0, dateS, "YYYY-MM-DD-d")
return result
}
module.exports = fmtDates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment