💝 Sponsor this project on Github or ☕ Get me a coffee if you like this plugin!
Provides some date utilities for developing Logseq plugins, in particular to cater to handling multiple user-defined date formats.
With npm:
npm i logseq-dateutils
Import (you may also import only selective functions for your needs):
import { getDateForPage, getDateForPageWithoutBrackets, getDayInText, getScheduledDeadlineDateDay, getScheduledDeadlineDateDayTime } from 'logseq-dateutils';
Below is an elaboration of the methods available:
Returns the specified date based on the user's preferred date format. Accepts 2 arguments. getDateForPage
returns the date with brackets ([[date]]
) while getDateForPageWithoutBrackets
returns the date without the brackets.
import { getDateForPage, getDateForPageWithoutBrackets, getDayInText, getScheduledDeadlineDate } from 'logseq-dateutils';
const preferredDateFormat = 'yyyy/MM/dd';
const today = new Date();
const todayDateInUserFormat = getDateForPage(today, preferredDateFormat);
console.log(todayDateInUserFormat);
Returns the day, based on the specified date.
const today = new Date();
const todayDay = getDayInText(today);
Returns the date format that is needed (without the time) if your plugin requires creation of SCHEDULED
or DEADLINE
items.
const today = new Date();
await logseq.Editor.updateBlock(uuid, `A quick brown fox
SCHEDULED: <getScheduledDeadlineFormat(today)>`)
Returns the date format that is needed (including the time) if your plugin requires creation of SCHEDULED
or DEADLINE
items.
const today = new Date();
await logseq.Editor.updateBlock(uuid, `A quick brown fox
DEADLINE: <getScheduledDeadlineDateDayTime(today)>`)
Do join Logseq's Discord and look for me there!