.Dd September 19, 2022 .Dt WHEN 1 .Os . .Sh NAME .Nm when .Nd date calculator . .Sh SYNOPSIS .Nm .Op Ar expr .Nm .Cm - . .Sh DESCRIPTION .Nm is a date calculator. If no .Ar expr is given, expressions are read from standard input. If .Cm - is given, the intervals between each named date and today are printed. . .Pp The grammar is as follows: .Bl -tag -width Ds .It Sy \&. Today's date. The empty expression is equivalent. . .It Ar name Op Sy = Ar date A named date. Names are alphanumeric including underscores. . .It Ar month Ar date Op Ar year A full date, or a date in the current year. Months can be abbreviated to three letters. . .It Ar day A day of the week in the current week. Days can be abbreviated to three letters. . .It Sy < Ar date The date one week before. . .It Sy > Ar date The date one week after. . .It Ar date Sy + Ar interval The date after some interval. . .It Ar date Sy - Ar interval The date before some interval. . .It Ar date Sy - Ar date The interval between two dates. . .It Ar num Sy d A number of days. . .It Ar num Sy w A number of weeks. . .It Ar num Sy m A number of months. . .It Ar num Sy y A number of years. .El . .Sh FILES The file .Pa $XDG_CONFIG_HOME/when/dates or .Pa ~/.config/when/dates is read before any other expressions, if it exists. . .Sh EXAMPLES .Bl -tag -width "Dec 25 - ." .It Ic Dec 25 - \&. How long until Christmas. .It Ic >Fri The date next Friday. .It Ic \&. + 2w Your last day at work. .El .Pp Checking a milestone: .Bd -literal -offset indent $ echo 'hrt = oct 15 2021' >> ~/.config/when/dates $ when -hrt .Ed