blob: 9de8f375d3a65f4063c8975565e22f02f8a306d5 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
"../../../tools/boostbook/dtd/boostbook.dtd">
<!-- Copyright (c) 2001-2005 CrystalClear Software, Inc.
Subject to the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-->
<section id="date_time.gregorian.gregorian_calendar">
<title>Gregorian Calendar</title>
<link linkend="gregcal_intro">Introduction</link> --
<link linkend="gregcal_header">Header</link> --
<link linkend="gregcal_functions">Functions</link>
<anchor id="gregcal_intro" />
<bridgehead renderas="sect3">Introduction</bridgehead>
<para>
The class boost::gregorian::gregorian_calendar implements the functions necessary to create the gregorian date system. It converts to the year-month-day form of a date to a day number representation and back.
</para>
<para>
For most purposes this class is simply accessed by <link linkend="date_time.gregorian.date_class">gregorian::date</link> and is not used directly by the user. However, there are useful functions that might be of use such as the end_of_month_day function.
</para>
<para>
The <link linkend="date_time.examples.print_month">print month</link> example demonstrates this.
</para>
<anchor id="gregcal_header" />
<bridgehead renderas="sect3">Header</bridgehead>
<para>
<programlisting>#include "boost/date_time/gregorian/gregorian.hpp" //include all types plus i/o
or
#include "boost/date_time/gregorian/gregorian_types.hpp" //no i/o just types</programlisting>
</para>
<anchor id="gregcal_functions" />
<bridgehead renderas="sect3">Functions</bridgehead>
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row>
<entry valign="top" morerows="1">Syntax</entry>
<entry>Description</entry>
</row>
<row>
<entry>Example</entry>
</row>
</thead>
<tbody>
<row>
<entry valign="top" morerows="1"><screen>static short day_of_week(ymd_type)</screen></entry>
<entry>Return the day of the week (0==Sunday, 1==Monday, etc)</entry>
</row>
<row>
<entry>See also <link linkend="date_time.gregorian.date_class">gregorian::date</link> day_of_week</entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>static date_int_type day_number(ymd_type)</screen></entry>
<entry> Convert a ymd_type into a day number. The day number is an absolute number of days since the epoch start.</entry>
</row>
<row>
<entry></entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>static short end_of_month_day(year_type,
month_type)</screen></entry>
<entry>Given a year and month determine the last day of the month.</entry>
</row>
<row>
<entry></entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>static ymd_type from_day_number(date_int_type)</screen></entry>
<entry> Convert a day number to a ymd struct.</entry>
</row>
<row>
<entry></entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>static bool is_leap_year(year_type)</screen></entry>
<entry>Returns true if specified year is a leap year.</entry>
</row>
<row>
<entry><screen>gregorian_calendar::is_leap_year(2000)
//--> true</screen></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>