Daily Notes: Support night owls, i.e. configurable time for end of the day (start of the day)

For those who regularly work past midnight, it would be nice if there was a configurable “end of the day” time setting such as 6:00. So between 0:00 and 5:59am of the following day, the action (or hotkey) for going to the current daily note would still go to what is technically yesterday but in my mind still the same workday/worknight.

Thanks

13 Likes

I’ve never come across anyone else asking for this, but I so. completely. agree!

Especially for habit trackers, time trackers, and calendars, or anything that automatically rolls over tasks or counters. I had some other examples too, but can’t recall.

Sometimes I wonder how annoying it would be to just set my computer’s time to a timezone shifted 3 or 4 hours. I imagine that would have some unintended side effects, and make scheduling things more difficult.

Brainstorming, I wonder if a good workaround would be to use some kind of snippet manager to jump to an Obsidian URI that matched your daily note. For example, in MacOS, I bet Alfred App has the necessary tools to do that. Or Mac or Linux could likely write a script that would calculate the offset date string and copy it to your clipboard, and send that to some URI launcher. Windows, I have no idea.

There’s precedent:

And the same feature request in other day-planning apps:

1 Like

came across this post looking for an answer myself. if I find an answer, I’ll drop it here.

On Linux, you can launch Obsidian in a different time zone several hours behind you:

TZ=Pacific/Honolulu ./Obsidian-1.4.16.AppImage

This can trick the Daily Note button into showing yesterday’s note.

… and if you have a desktop entry:

[Desktop Entry]
Name=Obsidian
Exec=env TZ=Pacific/Honolulu /home/user/opt/Obsidian-1.4.16.AppImage %u
Terminal=false
Type=Application
Icon=/home/user/notes/media/obsidian-icon.png
StartupWMClass=obsidian
#X-AppImage-Version=0.8.15  # not needed??
Comment=Obsidian
Categories=Office;
MimeType=text/html;x-scheme-handler/obsidian;

Replace the filename with your version.

The Anki app has a simple setting for this. You can set the date to change at 4:00 am or whatever. I am sure there are a lot of night owls out there who would like this feature.

The journaling app Diarly has a “Late Night Journaling” setting:

2 Likes

Use case or problem

While a day is formally defined as 00:00 to 23:59, this doesn’t necessarily match the routine and perception of day for everyone. I believe for most people, a day is the time before one goes to sleep at night, that is, if I’m awake until 2am on Nov 1st, my day of Oct 31st roughly ends at “26:00 of Oct 31st”.

In practice, that means if I open Obsidian at 1am on Nov 1st, I’d expect it to not consider “today” as Nov 1st, but Oct 31st, and if I ask it to open today’s notes, it should open Oct 31st’s, and previous day’s should be Oct 30th.

This concept is common on other settings. For example, Anki, the flashcard app, can be configured to consider a different time as the start of day to reset the daily study list, and it is by default 4am. Japanese TVs often publish schedule for programs in the midnight using time like Tue 25:30 as oppose to Wed 1:30am.

Proposed solution

The daily note plugin can add a option to select the start of day.

1 Like

Thanks @WhiteNoise for moving my post here. I think I didn’t find this one because it doesn’t have the daily-note tag. Is it possible to attach the tag so that it’s more likely to be found by others in the future?

It’s already directly in the title. Tags aren’t an exhaustive categorization scheme. You can search for text in the future.

(Please don’t ping the dev team. That is against our code of conduct.)

Duplicate of:

Use case or problem

I sometimes work post midnight and want to open yesterday’s daily note using the ‘Open today’s daily note’ button (because I basically still consider it within yesterday’s working time). This button opens up what is today’s note, usually creating a new one, which I don’t want

Proposed solution

Add an option to the dailies plugin to set a time until which it should still be considered the previous day

6 Likes

I’d really appreciate this as well. I work on (roughly) Australian time but keep my clocks set to my place in the US, and the window of overlap past midnight basically prevents me from comfortably using Daily Notes at all.

1 Like

I think the Daily Notes Opener Plugin will provide this for you

That daily notes opener plugin adds a lot of unnecaserry features that cannot be turned off. And it does not work with the default dark theme, so i cannot really use it well.

I would really like a setting in default obsidian for a custom date cutoff time - it should be extremely easy to implement too.

1 Like

For anyone that finds this later - i figured out how to do this with dataview. Put this snippet in your note in edit mode with ```dataviewjs above it and three backticks after it.

const adjustedTime = dv.date("now").minus({ hours: 5 });
const today = adjustedTime.toISODate();
const filePath = `Notes/Daily Notes/${today}`;
dv.el('span', `[[${filePath}|Daily Note]]`);

Feel free to adjust the filepath to match your folder structure

Here is a codeblock to show yesterday’s note with some nice conditional text:

const adjustedTime = dv.date("now").minus({ hours: 5, days: 1 });
const yesterday = adjustedTime.toISODate();
const filePath = `Notes/Daily Notes/${yesterday}`;

if (app.vault.getAbstractFileByPath(filePath + ".md")) {
   dv.el('span', `[[${filePath}|Yesterday's note]]`);
} else {
    dv.el("span", `Yesterday's note does not exist. [[${filePath}|Make it?]]`);
}

I put these links on my homepage for easy access. I suggest anyone looking for this feature do the same for now

1 Like

Second this :+1:

I have two notions of ‘today’: calendar day (resets at midnight) and waking day (resets when I wake up). I’d like the daily note to reset after ~4am.

1 Like

This plugin I just found greatly implements this feature Better daily notes :slight_smile:

1 Like

This Templater snippet outputs the previous day’s date from 12 AM to 6 AM:

<%* tR += tp.date.now("YYYY-MM-DD ddd", moment().hour() < 6 ? -1 : 0) %>

I put this in H1 of my daily note template.

This works for me because I automatically sync note first line with filename via First Line is Title.