The Date Event is used to trigger a TODO on a specific date and time.

Example

# The following TODO will be ready to be addressed on January 1st, 2023 at 8 AM.

TODO(on: date("2023-01-01 08:00:00"))

Arguments

Number

The Date event expects 1 single argument, the date itself.

Format

The date can be passed in a lot of different formats but I recommend using the ISO 8601. All the examples below will be accepted by Catana:

TODO(on: date("2023-01-01"))
TODO(on: date("2023-01-01 21:00:00"))
TODO(on: date("2023-01-01 21:00"))
TODO(on: date("2023-01-01 21:00:00 -0600"))

Timezone

For any Date that doesn't have a specified timezone, Catana will fall back to the timezone of the commit.

Example:

TODO(on: date("2023-01-01 08:00:00"), to: "bob")
#                         ^^^^^^^^
#                         8 AM is ambiguious.
commit 2b07eca0f58f70548e84e66c69b77bf05e9a9bbb (HEAD -> main, origin/main)
Author: Bob <bob@gmail.com>
Date:   Mon Jun 20 15:08:03 2022 +0200

The TODO above doesn't have a specified timezone. Catana will instead make a query to GitHub to grab the timezone from the commit that introduced the TODO (+0200).

Default time

For any Date that doesn't have a specified hour, Catana will use 8 AM by default.

TODO(on: date("2023-01-01"), to: "bob")
#              ^^^^^^^^^^
#              It is ambiguous. Should the assignee be notified at midnight?

If you legitimately wanted to be notified at midnight, you can explicitly set it, Catana won't override your specified hour.

Shortcut

Date TODOs are very common, therefore Catana offers a shortcut for this event.

TODO(on: date("2023-01-01"))

# Can be shortened to:

TODO(on: "2023-01-01")