Looking for Customizing Date Formats in Logseq!

Hi everyone,

I am looking to customize the date formats in Logseq to better suit my needs. By default, Logseq uses the standard YYYY-MM-DD format, but I’d prefer something more compact, like DD/MM/YYYY or even a full month name format (e.g., 29 July 2024).

Is there a straightforward way to adjust these settings: ?? I’ve looked through the documentation and explored the settings but haven’t found a clear solution. If anyone has experience with modifying date formats or knows of a plugin that can help, I’d greatly appreciate your guidance. I also read this thread: https://discuss.logseq.com/t/can-i-use-a-custom-date-title-format-for-journals-and-their-titles/flutter but couldn’t find any helpful information.

Thanks in advance for your help…! :grinning:

Selena :grinning:

Try this plugin:

Yes, you can change the journal date format by uncommenting this line in config.edn and changing the :journal/page-title-format key value to your desired date format.

In :journal/page-title-format, you use ISO 8601 formatting codes, which are defined in logseq/cljs-time /src/cljs_time/format.cljs

    Symbol  Meaning                      Presentation  Examples
    ------  -------                      ------------  -------
    G       era                          text          AD
    C       century of era (>=0)         number        20
    Y       year of era (>=0)            year          1996

    x       weekyear                     year          1996
    w       week of weekyear             number        27
    e       day of week                  number        2
    E       day of week                  text          Tuesday; Tue

    y       year                         year          1996
    D       day of year                  number        189
    M       month of year                month         July; Jul; 07
    d       day of month                 number        10

    a       halfday of day               text          PM
    K       hour of halfday (0~11)       number        0
    h       clockhour of halfday (1~12)  number        12

    H       hour of day (0~23)           number        0
    k       clockhour of day (1~24)      number        24
    m       minute of hour               number        30
    s       second of minute             number        55
    S       fraction of second           number        978
    a       meridiem                     text          am; pm
    A       meridiem                     text          AM; PM

    z       time zone                    text          Pacific Standard Time; PST
    Z       time zone offset/id          zone          -0800; -08:00; America/Los_Angeles

    '       escape for text              delimiter
    ''      single quote                 literal       '

    cljs-time additions:
    ------  -------                      ------------  -------
    Symbol  Meaning                      Presentation  Examples
    ------  -------                      ------------  -------
    o       ordinal suffix               text          st nd rd th (E.G., 1st, 2nd, 3rd, 4th)

The count of pattern letters determine the format.

Text: If the number of pattern letters is 4 or more, the full form is used;
otherwise a short or abbreviated form is used if available.

Number: The minimum number of digits. Shorter numbers are zero-padded to this
amount.

Year: Numeric presentation for year and weekyear fields are handled
specially. For example, if the count of y is 2, the year will be displayed
as the zero-based year of the century, which is two digits.

Month: 3 or over, use text, otherwise use number.

Zone: Z outputs offset without a colon, ZZ outputs the offset with a
colon, ZZZ or more outputs the zone id.

Zone names: Time zone names (‘z’) cannot be parsed.

Any characters in the pattern that are not in the ranges of ['a'..'z'] and
['A'..'Z'] will be treated as quoted text. For instance, characters like :,
., <space>, # and ? will appear in the resulting time text even they are
not embraced within single quotes."}

I have my page title format set as:

 :journal/page-title-format "EEEE, MMM do, yyyy"

And that renders to: Friday, Aug 9th, 2024.

It’s alright. When I want to manually create a linked reference to the date then I need to use the /date picker because I have no idea what day of the week any given day will be. That’s a bit of an annoyance, but whatever.

2 Likes