Named Dates

The term 'date' is used here to describe a timestamp of varying precision and specificity. The terms 'timestamp', or 'datetime' also apply.

Taskwarrior supports the notion of specifying dates in several ways. There are ISO-8601 dates:

2014-06-07T16:55:04-05:00
2014-W23
20140607

There are rc.dateformat dates, the default being Y-M-D:

2014-06-07

This document enumerates and defines other dates, such as tomorrow and many others.

Days of the Week

The days of the week are interpreted as the next day in the future. To specify a day in the past, use a different date format.

  • mon, monday - The date of the nearest future monday at 0:00:00 local.

The days are recognized in three-letter abbreviated form and the full day name only.

Day Ordinals

Day ordinals are the days in the month, numbered starting from 1, to either the 28th, 29th, 30th or 31st, depending on the current month.

  • 1st, 2nd, 3rd, … - The date of the nearest future Nth day at 0:00:00 local.

Note that if today is February 20th, specifying 31st is an error, and does not mean March 31. For this, use a precise date format.

Months of the Year

The months of the year are interpreted as the first day of the next month of that name in the future. To specify a month in the past, use a different date format.

  • jan, january - The date of the nearest future January 1st, at 0:00:00 local.

The months are recognized in three-letter abbreviated form and the full month name only.

Year Dates

Year dates are abbreviated names for dates within the year, that occur at various boundaries. The abbreviations use 's' to mean the start, and 'e' to mean the end of the period. The periods are indicated using 'm' (month), 'q' (quarter) and 'y' (year). So the date 'socy' means 'start of current year'.

  • socy, eocy - Start of the current year. End of the current year. Time is 0:00:00 local.
  • socq, eocq - Start of the current quarter. End of the current quarter. Time is 0:00:00 local.
  • socm, eocm - Start of the current month. End of the current month. Time is 0:00:00 local.
  • soy, eoy - Start of the next year. End of the year. Time is 0:00:00 local.
  • soq, eoq - Start of the next quarter. End of the quarter. Time is 0:00:00 local.
  • som, eom - Start of the next month. End of the month. Time is 0:00:00 local.

There is redundancy in this table, and it exists for the sake of symmetry. For example, 'eom' and 'eocm' are always the same, but exist so that every date has a matching pair.

Week Dates

Week dates are abbreviated names for dates within the week, that occur at various boundaries. The abbreviations use 's' to mean the start, and 'e' to mean the end of the period. The periods are indicated using 'd' (day), 'w' (week).

  • socw, eocw - Start of the current week. End of the current week. Time is 0:00:00 local.
  • sow, eow - Start of the next week. End of the week. Time is 0:00:00 local.
  • soww, eoww - Start of the next work week. End of the work week. Time is 0:00:00 local.
  • sod, eod - Start of today. End of today. Time is 0:00:00 local.
  • yesterday - Start of yesterday. Time is 0:00:00 local.
  • today - Start of today. Time is 0:00:00 local.
  • now - Right now.
  • tomorrow - Start of tomorrow. Time is 0:00:00 local.

Again, there is redundancy in the table, for the sake of symmetry.

Calculated Dates

These dates are from algorithms, and easily calculated.

  • later, someday - January 18th, 2038 - the end of time. Time is 0:00:00 local.
  • easter, eastermonday, pentecost, ascension, goodfriday - Time is 0:00:00 local.
  • midsommarafton, midsommar - First Friday and Saturday after 19th June. Time is 0:00:00 local.