source: XMLIO_V2/dev/common/src/xmlio/date/gregorian.cpp @ 219

Last change on this file since 219 was 219, checked in by hozdoba, 13 years ago

Préparation nouvelle arborescence

File size: 1.7 KB
Line 
1#include "gregorian.hpp"
2
3namespace xmlioserver
4{
5   namespace date
6   {
7      /// ////////////////////// Définitions ////////////////////// ///
8
9      CGregorianCalendar::CGregorianCalendar(const StdString & dateStr)
10         : CCalendar("Gregorian", dateStr)
11      { /* Ne rien faire de plus */ }
12
13      CGregorianCalendar::CGregorianCalendar(int yr, int mth, int d,
14                                             int hr, int min, int sec)
15         : CCalendar("Gregorian", yr, mth, d, hr, min, sec)
16      { /* Ne rien faire de plus */ }
17
18      CGregorianCalendar::~CGregorianCalendar(void)
19      { /* Ne rien faire de plus */ }
20
21      ///--------------------------------------------------------------
22
23      int CGregorianCalendar::getYearTotalLength(const CDate & date) const
24      { // Retourne la durée d'une année en seconde.
25         if ((date.getYear() % 4   == 0) &&
26            ((date.getYear() % 100 != 0)  ||
27             (date.getYear() % 400 == 0)  ))
28            return (366 * 86400);
29         return (365 * 86400);
30      }
31
32      int CGregorianCalendar::getMonthLength(const CDate & date) const
33      { // Retourne la durée du mois en jour.
34         if (date.getMonth() == 2)
35         { // Traitement du cas particulier en Février.
36            if ((date.getYear() % 4   == 0) &&
37               ((date.getYear() % 100 != 0) ||
38                (date.getYear() % 400 == 0) ))
39               return (29);
40            return (28);
41         }
42         return (CCalendar::getMonthLength(date));
43      }
44
45      StdString CGregorianCalendar::getType(void) const
46      { return (StdString("gregorian")); }
47
48      ///--------------------------------------------------------------
49   } // namespace date
50} // namespace xmlioserver
51
Note: See TracBrowser for help on using the repository browser.