Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CALENDAR(1)		     General Commands Manual		     CALENDAR(1)

NAME
     calendar -- reminder service

SYNOPSIS
     calendar [-A num] [-a] [-B num] [-D moon|sun] [-d] [-F friday]
	      [-f calendarfile] [-l longitude] [-t dd[.mm[.year]]]
	      [-U UTC-offset] [-W num]

DESCRIPTION
     The calendar utility checks the current directory for a file named calendar
     and displays lines that fall into the specified date range.  On the day be-
     fore  a  weekend (normally Friday), events for the next three days are dis-
     played.

     The following options are available:

     -A num  Print lines from today and the next num days (forward, future).

     -a      Process the ``calendar'' files for users found in	/etc/passwd  and
	     mail the results to them.	This can result in multiple messages for
	     specific files, since /etc/passwd does not require home directories
	     to  be  unique.   In  particular,	by default root, toor and daemon
	     share the same home directory.  If this directory contains calendar
	     information, calendar will process the file three times.

	     This option requires super-user privileges.

     -B num  Print lines from today and the previous num days (backward, past).

     -D moon|sun
	     Print UTC offset, longitude and moon or sun information.

     -d      Debug option: print current date information.

     -F friday
	     Specify which day of the week is ``Friday''  (the	day  before  the
	     weekend begins).  Default is 5.

     -f calendarfile
	     Use calendarfile as the default calendar file.

     -l longitude
	     Perform  lunar and solar calculations from this longitude.  If nei-
	     ther longitude nor UTC offset is specified, the  calculations  will
	     be based on the difference between UTC time and localtime.  If both
	     are specified, UTC offset overrides longitude.

     -t dd[.mm[.year]]
	     For test purposes only: set date directly to argument values.

     -U UTC-offset
	     Perform lunar and solar calculations from this UTC offset.  If nei-
	     ther  UTC	offset nor longitude is specified, the calculations will
	     be based on the difference between UTC time and localtime.  If both
	     are specified, UTC offset overrides longitude.

     -W num  Print lines from today and the next  num  days  (forward,	future).
	     Ignore weekends when calculating the number of days.

FILE FORMAT
     To   handle   calendars  in  your	national  code	table  you  can  specify
     "LANG=<locale_name>" in the calendar file as early as possible.

     To  handle  the  local  name  of  sequences,  you	can  specify  them   as:
     "SEQUENCE=<first> <second> <third> <fourth> <fifth> <last>" in the calendar
     file as early as possible.

     The names of the following special days are recognized:
     Easter

     Paskha

     NewMoon

     FullMoon

     MarEquinox

     JunSolstice

     SepEquinox

     DecSolstice

     ChineseNewYear

     These  names  may be reassigned to their local names via an assignment like
     "Easter=Pasen" in the calendar file.

     Other lines should begin with a month and day.  They may be entered in  al-
     most any format, either numeric or as character strings.  If the proper lo-
     cale is set, national month and weekday names can be used.  A single aster-
     isk (``*'') matches every month.  A day without a month matches that day of
     every  week.   A  month without a day matches the first of that month.  Two
     numbers default to the month followed by the day.	Lines with leading  tabs
     default to the last entered date, allowing multiple line specifications for
     a single date.

     The  names  of the recognized special days may be followed by a positive or
     negative integer, like: "Easter+3" or "Paskha-4".

     Weekdays may be followed by ``-4'' ... ``+5''  (aliases  for  last,  first,
     second, third, fourth) for moving events like ``the last Monday in April''.

     By  convention,  dates  followed by an asterisk are not fixed, i.e., change
     from year to year.

     Day descriptions start after the first <tab> character in the line; if  the
     line does not contain a <tab> character, it is not displayed.  If the first
     character in the line is a <tab> character, it is treated as a continuation
     of the previous line.

     The calendar file is preprocessed by a limited subset of cpp(1) internally,
     allowing the inclusion of shared files such as lists of company holidays or
     meetings.	 This  limited	subset	consists  of  #include, #define, #undef,
     #ifdef, #ifndef, #else, #warning, and #error.

     Conditions can be nested and the consistency of  opening  and  closing  in-
     structions  is  checked.	Only the first word after #define is used as the
     name of the condition variable being defined.   More  than  word  following
     #ifdef, #ifndef, or #undef is considered a syntax error, since names cannot
     include  white-space.  Included files are parsed in a global scope with re-
     gard to the condition variables being defined or tested therein.  All  con-
     ditional  blocks  are  implicitly	closed at the end of a file, and missing
     #endif instructions are assumed to be present on implied succeeding lines.

     If the shared file is not referenced by a full pathname, calendar	searches
     in the same order of precedence described in "FILES".

     Blank  lines and text protected by the C comment syntax `/* ... */' or `//'
     are ignored, but the latter only at the beginning of a line or after  white
     space to allow for URLs in calendar entries.

     Some  possible  calendar  entries	(<tab>	characters highlighted by \t se-
     quence):

	   LANG=C
	   Easter=Ostern

	   #include <calendar.usholiday>
	   #include <calendar.birthday>

	   6/15\tJune 15 (if ambiguous, will default to month/day).
	   Jun. 15\tJune 15.
	   15 June\tJune 15.
	   Thursday\tEvery Thursday.
	   June\tEvery June 1st.
	   15 *\t15th of every month.
	   2010/4/15\t15 April 2010

	   May Sun+2\tsecond Sunday in May (Muttertag)
	   04/SunLast\tlast Sunday in April,
	   \tsummer time in Europe
	   Easter\tEaster
	   Ostern-2\tGood Friday (2 days before Easter)
	   Paskha\tOrthodox Easter

FILES
     calendar		 file in current directory.
     ~/.calendar	 calendar HOME directory.  A chdir is done into this di-
			 rectory if it exists.
     ~/.calendar/calendar
			 calendar file to use if no calendar file exists in  the
			 current directory.
     ~/.calendar/nomail  do not send mail if this file exists.
     /usr/share/calendar
			 system wide location of calendar files provided as part
			 of the base system.
     /usr/local/share/calendar
			 system  wide  location for calendar files provided by a
			 port or package.

     The order of precedence in searches for a calendar file is: current  direc-
     tory,  ~/.calendar,  /usr/local/share/calendar, /usr/share/calendar.  Files
     of similar names are ignored in lower precedence locations.

     The following default calendar files are provided by  the	deskutils/calen-
     dar-data port.

     calendar.all	   File which includes all the default files.
     calendar.australia    Calendar of events in Australia.
     calendar.birthday	   Births  and deaths of famous (and not-so-famous) peo-
			   ple.
     calendar.christian    Christian holidays.	This calendar should be  updated
			   yearly by the local system administrator so that rov-
			   ing holidays are set correctly for the current year.
     calendar.computer	   Days of special significance to computer people.
     calendar.croatian	   Calendar of events in Croatia.
     calendar.dutch	   Calendar of events in the Netherlands.
     calendar.freebsd	   Birthdays of FreeBSD committers.
     calendar.french	   Calendar of events in France.
     calendar.german	   Calendar of events in Germany.
     calendar.history	   Everything else, mostly U.S. historical events.
     calendar.holiday	   Other  holidays,  including	the  not-well-known, ob-
			   scure, and really obscure.
     calendar.judaic	   Jewish holidays.  The entries for this calendar  have
			   been obtained from the deskutils/hebcal port.
     calendar.music	   Musical  events,  births,  and deaths.  Strongly ori-
			   ented toward rock 'n' roll.
     calendar.newzealand   Calendar of events in New Zealand.
     calendar.russian	   Russian calendar.
     calendar.southafrica  Calendar of events in South Africa.
     calendar.usholiday    U.S.  holidays.   This  calendar  should  be  updated
			   yearly by the local system administrator so that rov-
			   ing holidays are set correctly for the current year.
     calendar.world	   Includes  all  calendar  files  except  for	national
			   files.

COMPATIBILITY
     The calendar program previously selected lines which had the  correct  date
     anywhere  in the line.  This is no longer true, the date is only recognized
     when it occurs at the beginning of a line.

SEE ALSO
     at(1), mail(1), cron(8)

HISTORY
     A calendar command appeared in Version 7 AT&T UNIX.

NOTES
     Chinese New Year is calculated at 120  degrees  east  of  Greenwich,  which
     roughly  corresponds  with  the  east  coast  of China.  For people west of
     China, this might result that the start of Chinese New Year and the day  of
     the related new moon might differ.

     The  phases of the moon and the longitude of the sun are calculated against
     the local position which corresponds with 30 degrees times the time-differ-
     ence towards Greenwich.

     The new and full moons are happening on the day indicated: They might  hap-
     pen  in the time period in the early night or in the late evening.  It does
     not indicate that they are starting in the night on that date.

     Because of minor differences between the output of the  formulas  used  and
     other  sources  on  the Internet, Druids and Werewolves should double-check
     the start and end time of solar and lunar events.

BUGS
     The calendar does only recognise  the  cpp  directives  #include,	#define,
     #ifdef,  #ifndef  and  #else.   It supports nested conditions, but does not
     perform any validation on the correct use and nesting of conditions.   #en-
     dif  without  prior #ifdef or #define is ignored and #else outside a condi-
     tional section skips input lines up to the next #endif.

     There is no possibility to properly specify the local position  needed  for
     solar and lunar calculations.

FreeBSD ports 15.quarterly	December 17, 2023		     CALENDAR(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=calendar&sektion=1&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help