Sophie

Sophie

distrib > Mandriva > 2011.0 > x86_64 > by-pkgid > e4e5aca55b6d7244e6bae95bf4fde3ca > files > 211

lib64edelib-devel-2.0-1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>edelib: Date Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">edelib
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceedelib.html">edelib</a>      </li>
      <li class="navelem"><a class="el" href="classedelib_1_1Date.html">Date</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Date Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="edelib::Date" -->
<p>A class for date manipulation.  
 <a href="classedelib_1_1Date.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="DateTime_8h_source.html">edelib/DateTime.h</a>&gt;</code></p>

<p><a href="classedelib_1_1Date-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbb">Month</a> { <br/>
&#160;&#160;<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba23843ac6d5d7fd949c87235067b0cf8d">Jan</a> =  1, 
<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba440438569d2f7021e13c06436bac455e">Feb</a>, 
<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba2c937adab19ffaa90d92d907272681fc">Mar</a>, 
<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba901d3b86defe97d76aa17f7959f45a4b">Apr</a>, 
<br/>
&#160;&#160;<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba56032654a15262d69e8be7d42a7ab381">May</a>, 
<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba470a2bb850730d2f9f812d0cf05db069">Jun</a>, 
<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba02dced4e5287dd4f89c944787c8fd209">Jul</a>, 
<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba35b744bc15334aee236729b16b3763fb">Aug</a>, 
<br/>
&#160;&#160;<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbbae922a67b67c79fe59b1de79ba1ef3ec3">Sep</a>, 
<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba3fa258f3bb2deccc3595e22fd129e1d9">Oct</a>, 
<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba30c4611a7b0d26864d14fba180d1aa1f">Nov</a>, 
<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba516ce3cb332b423a1b9707352fe5cd17">Dec</a>, 
<br/>
&#160;&#160;<a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba04722a2ab7b7e28af345e2792d7327a0">MonthNow</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Abbreviated months.  <a href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbb">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#ac572d2be8b3c04018816ba1a6e75adad">Day</a> { <a class="el" href="classedelib_1_1Date.html#ac572d2be8b3c04018816ba1a6e75adadadbfca86e07c5bc33b770e1ff209eb671">DayNow</a> =  0
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Current day.  <a href="classedelib_1_1Date.html#ac572d2be8b3c04018816ba1a6e75adad">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#ae49013585f0536b639fe09828864fe37">Year</a> { <a class="el" href="classedelib_1_1Date.html#ae49013585f0536b639fe09828864fe37af786306a8b8ab29ddd6d8e4a33c56151">YearNow</a> =  0
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Current year.  <a href="classedelib_1_1Date.html#ae49013585f0536b639fe09828864fe37">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#aff49fc2cda4491ff4457ca481bb8edf9">Date</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#ad4266ef239a3aec124099a2a29f671d8">Date</a> (const <a class="el" href="classedelib_1_1Date.html">Date</a> &amp;d)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1Date.html">Date</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a1dc2e0aa92d45ab02bcf2bd8fa898353">operator=</a> (const <a class="el" href="classedelib_1_1Date.html">Date</a> &amp;d)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a1757cd404b52fce9a4b3b59363a6ab59">~Date</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a3dd7bcafe86d5ea20e217c53b77b40d2">set</a> (unsigned short y, unsigned char m, unsigned char d, <a class="el" href="namespaceedelib.html#affd3c068a55928d139fbd5278fee227f">DateType</a> t=<a class="el" href="namespaceedelib.html#affd3c068a55928d139fbd5278fee227fa6e2f6518d352f2ed75fd732e887d6123">DATE_LOCAL</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#abfe16813a01e97ef0ce11831362f7bde">system_set</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a5484f9420f40ea749b0a34f198e928ce">leap_year</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#ada7c8d7b0f65b2dbc9750e3b56442082">day</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#ac3bfb8c39bf31996565d8a31c4c54457">month</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#adef169cc23bd4ff7cfb8e26a727722a8">year</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a2c89a996bc7fb53a85d3dcd7ddef8ced">day_name</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a6939a16109d75d61dc0e36e682ec1570">month_name</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a69e60eff6fdba61638077f48f2ecbbbb">days_in_month</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a619930cd7aaf1e5fd921700d9c346f8b">day_of_week</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a7fd193fe75e4acc353cd93b858da804b">day_of_year</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1Date.html">Date</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#ae6a991aa97305857a8f1f3ce86e56a8e">operator++</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1Date.html">Date</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a6541a6651456d8bc1622a24291841647">operator++</a> (int)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1Date.html">Date</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#ad96f835929dff451238fe944b8855797">operator--</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1Date.html">Date</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a382393929522ea82108942354ca727f7">operator--</a> (int)</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a8614c862d27408342859b219d7d9b562">leap_year</a> (unsigned short y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a6cffbc1cf580b8eda6cd01725196ea15">days_in_month</a> (unsigned short y, unsigned char m)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1Date.html#a14c70b3647197c47aab59bda3ab2a113">is_valid</a> (unsigned short y, unsigned char m, unsigned char d)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A class for date manipulation. </p>
<p>This class represents a calendar date. It has ability to read system date or to use and manipulate with filled year/month/day values.</p>
<p>Setting date is via <a class="el" href="classedelib_1_1Date.html#a3dd7bcafe86d5ea20e217c53b77b40d2">set()</a> member, and it accept year/month/day form. This is sample: </p>
<div class="fragment"><pre class="fragment">   <a class="code" href="classedelib_1_1Date.html#aff49fc2cda4491ff4457ca481bb8edf9">Date</a> mydate;
   mydate.set(2006, 1, 1);
   <span class="comment">// following will be true</span>
   mydate.day() == 1;
   mydate.month() == 1;
   mydate.year() == 1;
</pre></div><p><a class="el" href="classedelib_1_1Date.html#a3dd7bcafe86d5ea20e217c53b77b40d2">set()</a> can also accept abbreviations for months or shorthands for current year/month/day (in this case will consult system date) </p>
<div class="fragment"><pre class="fragment">   ...
   mydate.set(2006, <a class="code" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba470a2bb850730d2f9f812d0cf05db069" title="June.">Date::Jun</a>, 10);
   <span class="comment">// or use curren date</span>
   mydate.set(<a class="code" href="classedelib_1_1Date.html#ae49013585f0536b639fe09828864fe37af786306a8b8ab29ddd6d8e4a33c56151" title="Current system year.">Date::YearNow</a>, <a class="code" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba04722a2ab7b7e28af345e2792d7327a0" title="Current system month.">Date::MonthNow</a>, <a class="code" href="classedelib_1_1Date.html#ac572d2be8b3c04018816ba1a6e75adadadbfca86e07c5bc33b770e1ff209eb671" title="Current system date.">Date::DayNow</a>);
</pre></div><p><a class="el" href="classedelib_1_1Date.html#a3dd7bcafe86d5ea20e217c53b77b40d2">set()</a> will check input, and in case of bad date (either abnormal input values or setting feb/29 in non leap year) will trigger assert.</p>
<p>There is a one catch using abbreviations and valid date. For example, setting: </p>
<div class="fragment"><pre class="fragment">   mydate.set(0,1,0)
</pre></div><p> is perfectly valid, since <a class="el" href="classedelib_1_1Date.html#ae49013585f0536b639fe09828864fe37af786306a8b8ab29ddd6d8e4a33c56151" title="Current system year.">Date::YearNow</a> and <a class="el" href="classedelib_1_1Date.html#ac572d2be8b3c04018816ba1a6e75adadadbfca86e07c5bc33b770e1ff209eb671" title="Current system date.">Date::DayNow</a> enumerations are zero; in this case, function will behave as it was set: </p>
<div class="fragment"><pre class="fragment">   mydate.set(<a class="code" href="classedelib_1_1Date.html#ae49013585f0536b639fe09828864fe37af786306a8b8ab29ddd6d8e4a33c56151" title="Current system year.">Date::YearNow</a>, <a class="code" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbba23843ac6d5d7fd949c87235067b0cf8d" title="January.">Date::Jan</a>, <a class="code" href="classedelib_1_1Date.html#ac572d2be8b3c04018816ba1a6e75adadadbfca86e07c5bc33b770e1ff209eb671" title="Current system date.">Date::DayNow</a>);
</pre></div><p><a class="el" href="classedelib_1_1Date.html" title="A class for date manipulation.">Date</a> contains operators for comparrisons, so this can be done with those: </p>
<div class="fragment"><pre class="fragment">   <a class="code" href="classedelib_1_1Date.html#aff49fc2cda4491ff4457ca481bb8edf9">Date</a> d1,d2;
   d1.set(2007, 1, 1);
   d2.set(2007, 2, 1);

   d1 != d2;   <span class="comment">// will be true</span>
   d1 &lt;= d2;   <span class="comment">// also true</span>

   d2 = d1;    <span class="comment">// assign d1 values</span>
   d1 == d2;   <span class="comment">// true</span>
   ...
</pre></div> </div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="ac572d2be8b3c04018816ba1a6e75adad"></a><!-- doxytag: member="edelib::Date::Day" ref="ac572d2be8b3c04018816ba1a6e75adad" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classedelib_1_1Date.html#ac572d2be8b3c04018816ba1a6e75adad">Day</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Current day. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ac572d2be8b3c04018816ba1a6e75adadadbfca86e07c5bc33b770e1ff209eb671"></a><!-- doxytag: member="DayNow" ref="ac572d2be8b3c04018816ba1a6e75adadadbfca86e07c5bc33b770e1ff209eb671" args="" -->DayNow</em>&nbsp;</td><td>
<p>Current system date. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbb"></a><!-- doxytag: member="edelib::Date::Month" ref="ae34b763987dcf60c6c619d327b8c9dbb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classedelib_1_1Date.html#ae34b763987dcf60c6c619d327b8c9dbb">Month</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Abbreviated months. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba23843ac6d5d7fd949c87235067b0cf8d"></a><!-- doxytag: member="Jan" ref="ae34b763987dcf60c6c619d327b8c9dbba23843ac6d5d7fd949c87235067b0cf8d" args="" -->Jan</em>&nbsp;</td><td>
<p>January. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba440438569d2f7021e13c06436bac455e"></a><!-- doxytag: member="Feb" ref="ae34b763987dcf60c6c619d327b8c9dbba440438569d2f7021e13c06436bac455e" args="" -->Feb</em>&nbsp;</td><td>
<p>February. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba2c937adab19ffaa90d92d907272681fc"></a><!-- doxytag: member="Mar" ref="ae34b763987dcf60c6c619d327b8c9dbba2c937adab19ffaa90d92d907272681fc" args="" -->Mar</em>&nbsp;</td><td>
<p>March. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba901d3b86defe97d76aa17f7959f45a4b"></a><!-- doxytag: member="Apr" ref="ae34b763987dcf60c6c619d327b8c9dbba901d3b86defe97d76aa17f7959f45a4b" args="" -->Apr</em>&nbsp;</td><td>
<p>April. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba56032654a15262d69e8be7d42a7ab381"></a><!-- doxytag: member="May" ref="ae34b763987dcf60c6c619d327b8c9dbba56032654a15262d69e8be7d42a7ab381" args="" -->May</em>&nbsp;</td><td>
<p>May. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba470a2bb850730d2f9f812d0cf05db069"></a><!-- doxytag: member="Jun" ref="ae34b763987dcf60c6c619d327b8c9dbba470a2bb850730d2f9f812d0cf05db069" args="" -->Jun</em>&nbsp;</td><td>
<p>June. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba02dced4e5287dd4f89c944787c8fd209"></a><!-- doxytag: member="Jul" ref="ae34b763987dcf60c6c619d327b8c9dbba02dced4e5287dd4f89c944787c8fd209" args="" -->Jul</em>&nbsp;</td><td>
<p>July. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba35b744bc15334aee236729b16b3763fb"></a><!-- doxytag: member="Aug" ref="ae34b763987dcf60c6c619d327b8c9dbba35b744bc15334aee236729b16b3763fb" args="" -->Aug</em>&nbsp;</td><td>
<p>August. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbbae922a67b67c79fe59b1de79ba1ef3ec3"></a><!-- doxytag: member="Sep" ref="ae34b763987dcf60c6c619d327b8c9dbbae922a67b67c79fe59b1de79ba1ef3ec3" args="" -->Sep</em>&nbsp;</td><td>
<p>September. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba3fa258f3bb2deccc3595e22fd129e1d9"></a><!-- doxytag: member="Oct" ref="ae34b763987dcf60c6c619d327b8c9dbba3fa258f3bb2deccc3595e22fd129e1d9" args="" -->Oct</em>&nbsp;</td><td>
<p>October. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba30c4611a7b0d26864d14fba180d1aa1f"></a><!-- doxytag: member="Nov" ref="ae34b763987dcf60c6c619d327b8c9dbba30c4611a7b0d26864d14fba180d1aa1f" args="" -->Nov</em>&nbsp;</td><td>
<p>November. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba516ce3cb332b423a1b9707352fe5cd17"></a><!-- doxytag: member="Dec" ref="ae34b763987dcf60c6c619d327b8c9dbba516ce3cb332b423a1b9707352fe5cd17" args="" -->Dec</em>&nbsp;</td><td>
<p>December. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae34b763987dcf60c6c619d327b8c9dbba04722a2ab7b7e28af345e2792d7327a0"></a><!-- doxytag: member="MonthNow" ref="ae34b763987dcf60c6c619d327b8c9dbba04722a2ab7b7e28af345e2792d7327a0" args="" -->MonthNow</em>&nbsp;</td><td>
<p>Current system month. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ae49013585f0536b639fe09828864fe37"></a><!-- doxytag: member="edelib::Date::Year" ref="ae49013585f0536b639fe09828864fe37" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classedelib_1_1Date.html#ae49013585f0536b639fe09828864fe37">Year</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Current year. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ae49013585f0536b639fe09828864fe37af786306a8b8ab29ddd6d8e4a33c56151"></a><!-- doxytag: member="YearNow" ref="ae49013585f0536b639fe09828864fe37af786306a8b8ab29ddd6d8e4a33c56151" args="" -->YearNow</em>&nbsp;</td><td>
<p>Current system year. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aff49fc2cda4491ff4457ca481bb8edf9"></a><!-- doxytag: member="edelib::Date::Date" ref="aff49fc2cda4491ff4457ca481bb8edf9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1Date.html">Date</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Construct empty date. All walues will be zero. This is not valid, so <a class="el" href="classedelib_1_1Date.html#a14c70b3647197c47aab59bda3ab2a113">is_valid()</a> member will return false. </p>

</div>
</div>
<a class="anchor" id="ad4266ef239a3aec124099a2a29f671d8"></a><!-- doxytag: member="edelib::Date::Date" ref="ad4266ef239a3aec124099a2a29f671d8" args="(const Date &amp;d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1Date.html">Date</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1Date.html">Date</a> &amp;&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Construct date via previously declared value </p>

</div>
</div>
<a class="anchor" id="a1757cd404b52fce9a4b3b59363a6ab59"></a><!-- doxytag: member="edelib::Date::~Date" ref="a1757cd404b52fce9a4b3b59363a6ab59" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classedelib_1_1Date.html">Date</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Clear internal data </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ada7c8d7b0f65b2dbc9750e3b56442082"></a><!-- doxytag: member="edelib::Date::day" ref="ada7c8d7b0f65b2dbc9750e3b56442082" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char <a class="el" href="classedelib_1_1Date.html#ada7c8d7b0f65b2dbc9750e3b56442082">day</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return internal day value </p>

</div>
</div>
<a class="anchor" id="a2c89a996bc7fb53a85d3dcd7ddef8ced"></a><!-- doxytag: member="edelib::Date::day_name" ref="a2c89a996bc7fb53a85d3dcd7ddef8ced" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="classedelib_1_1Date.html#a2c89a996bc7fb53a85d3dcd7ddef8ced">day_name</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return day name for internal day value, eg. Monday/Tuesday/... Returned data <b>must not</b> be modified since is pointing to static data. You should copy it if you need to modify it. </p>

</div>
</div>
<a class="anchor" id="a619930cd7aaf1e5fd921700d9c346f8b"></a><!-- doxytag: member="edelib::Date::day_of_week" ref="a619930cd7aaf1e5fd921700d9c346f8b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char <a class="el" href="classedelib_1_1Date.html#a619930cd7aaf1e5fd921700d9c346f8b">day_of_week</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return day in week (1..7) calculated from internal values. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Values are in Western format, so 1 == Sunday, 2 == Monday, ... </dd></dl>

</div>
</div>
<a class="anchor" id="a7fd193fe75e4acc353cd93b858da804b"></a><!-- doxytag: member="edelib::Date::day_of_year" ref="a7fd193fe75e4acc353cd93b858da804b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned short <a class="el" href="classedelib_1_1Date.html#a7fd193fe75e4acc353cd93b858da804b">day_of_year</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return day of year of currently set date </p>

</div>
</div>
<a class="anchor" id="a69e60eff6fdba61638077f48f2ecbbbb"></a><!-- doxytag: member="edelib::Date::days_in_month" ref="a69e60eff6fdba61638077f48f2ecbbbb" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char <a class="el" href="classedelib_1_1Date.html#a69e60eff6fdba61638077f48f2ecbbbb">days_in_month</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return number of days of internal year/month value </p>

</div>
</div>
<a class="anchor" id="a6cffbc1cf580b8eda6cd01725196ea15"></a><!-- doxytag: member="edelib::Date::days_in_month" ref="a6cffbc1cf580b8eda6cd01725196ea15" args="(unsigned short y, unsigned char m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static unsigned char <a class="el" href="classedelib_1_1Date.html#a69e60eff6fdba61638077f48f2ecbbbb">days_in_month</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned short&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return number of days in given year and month. Given data must be valid date</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of days for given year/month </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">y</td><td>is year to check </td></tr>
    <tr><td class="paramname">m</td><td>is month to check </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a14c70b3647197c47aab59bda3ab2a113"></a><!-- doxytag: member="edelib::Date::is_valid" ref="a14c70b3647197c47aab59bda3ab2a113" args="(unsigned short y, unsigned char m, unsigned char d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool <a class="el" href="classedelib_1_1Date.html#a14c70b3647197c47aab59bda3ab2a113">is_valid</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned short&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Validate given year/month/day values, including leap year check</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if date is correct, or false if not </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">y</td><td>is year </td></tr>
    <tr><td class="paramname">m</td><td>is month </td></tr>
    <tr><td class="paramname">d</td><td>is day </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5484f9420f40ea749b0a34f198e928ce"></a><!-- doxytag: member="edelib::Date::leap_year" ref="a5484f9420f40ea749b0a34f198e928ce" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classedelib_1_1Date.html#a5484f9420f40ea749b0a34f198e928ce">leap_year</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check internal year value if is leap year </p>

<p>References <a class="el" href="classedelib_1_1Date.html#a5484f9420f40ea749b0a34f198e928ce">Date::leap_year()</a>.</p>

<p>Referenced by <a class="el" href="classedelib_1_1Date.html#a5484f9420f40ea749b0a34f198e928ce">Date::leap_year()</a>.</p>

</div>
</div>
<a class="anchor" id="a8614c862d27408342859b219d7d9b562"></a><!-- doxytag: member="edelib::Date::leap_year" ref="a8614c862d27408342859b219d7d9b562" args="(unsigned short y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool <a class="el" href="classedelib_1_1Date.html#a5484f9420f40ea749b0a34f198e928ce">leap_year</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned short&#160;</td>
          <td class="paramname"><em>y</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if given year is leap year</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if it is or false if not </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">y</td><td>is year to check </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac3bfb8c39bf31996565d8a31c4c54457"></a><!-- doxytag: member="edelib::Date::month" ref="ac3bfb8c39bf31996565d8a31c4c54457" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char <a class="el" href="classedelib_1_1Date.html#ac3bfb8c39bf31996565d8a31c4c54457">month</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return internal month value </p>

</div>
</div>
<a class="anchor" id="a6939a16109d75d61dc0e36e682ec1570"></a><!-- doxytag: member="edelib::Date::month_name" ref="a6939a16109d75d61dc0e36e682ec1570" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="classedelib_1_1Date.html#a6939a16109d75d61dc0e36e682ec1570">month_name</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return month name for internal month value, eg. January/February/... Returned data <b>must not</b> be modified, since applies as for <a class="el" href="classedelib_1_1Date.html#a2c89a996bc7fb53a85d3dcd7ddef8ced">day_name()</a>. </p>

</div>
</div>
<a class="anchor" id="ae6a991aa97305857a8f1f3ce86e56a8e"></a><!-- doxytag: member="edelib::Date::operator++" ref="ae6a991aa97305857a8f1f3ce86e56a8e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1Date.html">Date</a>&amp; operator++ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Increase current date by one. First day value is increased, then if that day is last in month, month is increased, then if that month is last in year, year is increased. </p>

</div>
</div>
<a class="anchor" id="a6541a6651456d8bc1622a24291841647"></a><!-- doxytag: member="edelib::Date::operator++" ref="a6541a6651456d8bc1622a24291841647" args="(int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1Date.html">Date</a> operator++ </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Suffix increment </p>

</div>
</div>
<a class="anchor" id="ad96f835929dff451238fe944b8855797"></a><!-- doxytag: member="edelib::Date::operator&#45;&#45;" ref="ad96f835929dff451238fe944b8855797" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1Date.html">Date</a>&amp; operator-- </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reverse from <a class="el" href="classedelib_1_1Date.html#ae6a991aa97305857a8f1f3ce86e56a8e">operator++()</a> </p>

</div>
</div>
<a class="anchor" id="a382393929522ea82108942354ca727f7"></a><!-- doxytag: member="edelib::Date::operator&#45;&#45;" ref="a382393929522ea82108942354ca727f7" args="(int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1Date.html">Date</a> operator-- </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Suffix decrement </p>

</div>
</div>
<a class="anchor" id="a1dc2e0aa92d45ab02bcf2bd8fa898353"></a><!-- doxytag: member="edelib::Date::operator=" ref="a1dc2e0aa92d45ab02bcf2bd8fa898353" args="(const Date &amp;d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1Date.html">Date</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1Date.html">Date</a> &amp;&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Assign previously declared value to this. Current content will be replaced </p>

</div>
</div>
<a class="anchor" id="a3dd7bcafe86d5ea20e217c53b77b40d2"></a><!-- doxytag: member="edelib::Date::set" ref="a3dd7bcafe86d5ea20e217c53b77b40d2" args="(unsigned short y, unsigned char m, unsigned char d, DateType t=DATE_LOCAL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classedelib_1_1Date.html#a3dd7bcafe86d5ea20e217c53b77b40d2">set</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned short&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceedelib.html#affd3c068a55928d139fbd5278fee227f">DateType</a>&#160;</td>
          <td class="paramname"><em>t</em> = <code><a class="el" href="namespaceedelib.html#affd3c068a55928d139fbd5278fee227fa6e2f6518d352f2ed75fd732e887d6123">DATE_LOCAL</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Fill internal data. Data should be valid date (including leap year) or assertion will be triggered.</p>
<p>Input can be either in form of numbers or abbreviations for month.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>it can accept set(0,1,0); leave this or... (possible bugs ?)</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>todo </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">y</td><td>fill with year value </td></tr>
    <tr><td class="paramname">m</td><td>fill with month value; should be 1 &lt;= m &lt;= 12 </td></tr>
    <tr><td class="paramname">d</td><td>fill with day value; should be 1 &lt;= d &lt;= 30 (or 31 for months this days number or 28 if is non-leap year) </td></tr>
    <tr><td class="paramname">t</td><td>fill with localized or UTC date values </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abfe16813a01e97ef0ce11831362f7bde"></a><!-- doxytag: member="edelib::Date::system_set" ref="abfe16813a01e97ef0ce11831362f7bde" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classedelib_1_1Date.html#abfe16813a01e97ef0ce11831362f7bde">system_set</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tries to set system date with current values. This function will try to call settimeofday() and if not exists, it will fallback to stime(). If both functions are not present, it will return false.</p>
<p>Since these functions requires priviledged user, if they are present but user is not allow to set date, this function will return false too. Contrary this, it will return true if able to set date.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>This should be probably a static function </dd></dl>

</div>
</div>
<a class="anchor" id="adef169cc23bd4ff7cfb8e26a727722a8"></a><!-- doxytag: member="edelib::Date::year" ref="adef169cc23bd4ff7cfb8e26a727722a8" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned short <a class="el" href="classedelib_1_1Date.html#adef169cc23bd4ff7cfb8e26a727722a8">year</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return internal year value </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>edelib/<a class="el" href="DateTime_8h_source.html">DateTime.h</a></li>
</ul>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 5 2012 17:49:02 for edelib by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>