\section{\module{calendar} ---
         General calendar-related functions}

\declaremodule{standard}{calendar}
\modulesynopsis{General functions for working with the calendar,
                including some emulation of the \UNIX{} \program{cal}
                program.}
\sectionauthor{Drew Csillag}{drew_csillag@geocities.com}

This module allows you to output calendars like the \UNIX{}
\program{cal} program, and provides additional useful functions
related to the calendar.

\begin{funcdesc}{isleap}{year}
Returns true if \var{year} is a leap year.
\end{funcdesc}

\begin{funcdesc}{leapdays}{year1, year2}
Return the number of leap years in the range
[\var{year1}\ldots\var{year2}].
\end{funcdesc}

\begin{funcdesc}{weekday}{year, month, day}
Returns the day of the week (\code{0} is Monday) for \var{year}
(\code{1970}--\ldots), \var{month} (\code{1}--\code{12}), \var{day}
(\code{1}--\code{31}).
\end{funcdesc}

\begin{funcdesc}{monthrange}{year, month}
Returns weekday of first day of the month and number of days in month, 
for the specified \var{year} and \var{month}.
\end{funcdesc}

\begin{funcdesc}{monthcalendar}{year, month}
Returns a matrix representing a month's calendar.  Each row represents
a week; days outside of the month a represented by zeros.
\end{funcdesc}

\begin{funcdesc}{prmonth}{year, month\optional{, width\optional{, length}}}
Prints a month's calendar.  If \var{width} is provided, it specifies
the width of the columns that the numbers are centered in.  If
\var{length} is given, it specifies the number of lines that each
week will use.
\end{funcdesc}

\begin{funcdesc}{prcal}{year}
Prints the calendar for the year \var{year}.
\end{funcdesc}

\begin{funcdesc}{timegm}{tuple}
An unrelated but handy function that takes a time tuple such as
returned by the \function{gmtime()} function in the \refmodule{time}
module, and returns the corresponding Unix timestamp value, assuming
an epoch of 1970, and the POSIX encoding.  In fact,
\function{time.gmtime()} and \function{timegm()} are each others' inverse.
\end{funcdesc}


\begin{seealso}
  \seemodule{time}{Low-level time related functions.}
\end{seealso}
