I find myself entering dates all the time. In filenames, for tasks and in documents. As I continually seek Productive Laziness I use a text expander to save me time.

Date formats

I use 2 date formats. YYYY-MM-DD and d MMMM YYYY. For today these are 2022-06-09 and 9 June 2022. To create these I use Expanso with the following keystrokes. All are set to run immediately upon keying in.

All calculations are smart enough to wrap over month and year boundaries.

Standard day text, used anywhere

Autotext abbreviationPurposeExample
d==Today as YYYY-MM-DD2022-06-09
d++Tomorrow as YYYY-MM-DD2022-06-10
d—Yesterday as YYYY-MM-DD2022-06-08
dd=Today as d MMMM YYYY9 June 2022
dd+Tomorrow as d MMMM YYYY10 June 2022
dd-Yesterday as d MMMM YYYY8 June 2022
d2w2 weeks from today23 June 2022

Getting Things Done

Within Obsidian I use the Obsidian Dataview plugin’s features to help me manage tasks. The way I work, I only need created and due dates. All are in YYYY-MM-DD format and is prefixed with a ”| ” to help split dates on a row eg ”| 📆2022-06-09”.

The “Next” abbreviations are smart enough to know that if today is Thursday, you mean Thursday next week, but Saturday this week.

Autotext abbreviationPurposeExample
#==Due today📆2022-06-09
#++Due tomorrow📆2022-06-10
#1wDue 1 week from today📆2022-06-16
#2wDue 2 weeks from today📆2022-06-23
#3wDue 3 weeks from today📆2022-06-30
#4wDue 4 weeks from today📆2022-07-07
#--Due yesterday📆2022-06-08
#monNext Monday📆2022-06-13
#tueNext Tuesday📆2022-06-14
#wedNext Wednesday📆2022-06-15
#thuNext Thursday📆2022-06-16
#friNext Friday📆2022-06-17
#satNext Saturday📆2022-06-19
#sunNext Sunday📆2022-06-19

I use !!! and a the Dataview plugin to filter out the must do today items.

Autotext abbreviationPurposeExample
!!!Important🏆
!==Imporant today🏆📆2022-06-09
!++Important tomorrow🏆📆2022-06-10

Whenever I have a “@waiting for” task, I put in the date I started waiting using:

Autotext abbreviationPurposeExample
+==Started waiting today➕2022-06-09
+--Started waiting yesterday➕2022-06-08