Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022



calendar - reminder service


calendar [-]


The calendar utility consults the file calendar in the current directory and writes lines that contain today's or tomorrow's date anywhere in the line to standard output. Most reasonable month-day dates such as Aug. 24, august 24, 8/24, and so forth, are recognized, but not 24 August or 24/8. On Fridays and weekends “tomorrow” extends through Monday. calendar can be invoked regularly by using the crontab(1) or at(1) commands.

When the optional argument is present, calendar does its job for every user who has a file calendar in their home directory and sends them any positive results by mail(1). This may be run daily by cron(8) as discussed in the NOTES section below.

If the environment variable DATEMSK is set, calendar will use its value as the full path name of a template file containing format strings. The strings consist of conversion specifications and text characters and are used to provide a richer set of allowable date formats in different languages by appropriate settings of the environment variable LANG or LC_TIME; see environ(7). See strftime(3C) for the list of allowable conversion specifications.


Example 1 Possible contents of a template

The following example shows the possible contents of a template:

%B %eth of the year %Y

%B represents the full month name, %e the day of month and %Y the year (4 digits).

If DATEMSK is set to this template, the following calendar file would be valid:

March 7th of the year 1989 <Reminder>

Environment Variables

See environ(7) for descriptions of the following environment variables that affect the execution of calendar: LC_CTYPE, LC_TIME, LC_MESSAGES, NLSPATH, and TZ.

Exit Status


Successful completion.

> 0

An error occurred.



temporary files used by calendar


program used to determine dates for today and tomorrow


See attributes(7) for descriptions of the following attributes:


See Also

at(1), crontab(1), mail(1), strftime(3C), attributes(7), environ(7), cron(8)


Appropriate lines beginning with white space will not be printed.

Your calendar must be public information for you to get reminder service.

calendar's extended idea of “tomorrow” does not account for holidays.

The argument works only on calendar files that are local to the machine; calendar is intended not to work on calendar files that are mounted remotely with NFS. Thus, calendar - should be run only on diskful machines where home directories exist; running it on a diskless client has no effect.

calendar is no longer in the default root crontab. Because of the network burden calendar - can induce, it is inadvisable in an environment running LDAP or NIS with a large number of users. If, however, the usefulness of calendar outweighs the network impact, the system administrator may run crontab –e to edit the root crontab. Otherwise, individual users may wish to use crontab –e to edit their own crontabs to have cron invoke calendar without the argument, piping output to mail addressed to themselves.