source: XIOS/trunk/src/date.hpp @ 501

Last change on this file since 501 was 501, checked in by ymipsl, 7 years ago

Add licence copyright to all file ond directory src using the command :
svn propset -R copyright -F header_licence src

XIOS is now officialy under CeCILL licence

YM

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
File size: 2.3 KB
Line 
1#ifndef __XMLIO_CDate__
2#define __XMLIO_CDate__
3
4/// xios headers ///
5#include "xmlioserver_spl.hpp"
6#include "exception.hpp"
7#include "duration.hpp"
8
9namespace xios
10{
11      /// ////////////////////// Déclarations ////////////////////// ///
12      class CCalendar;
13
14      class CDate
15      {
16         public :
17
18            /// Constructeurs ///
19            CDate(void);                      // Not implemented yet
20            CDate(const CCalendar & cal);
21            CDate(const CCalendar & cal,int yr, int mth, int d,
22                                        int hr = 0, int min = 0, int sec = 0);
23            CDate(const CDate & odate);
24            CDate(const CDate * const odate); // Not implemented yet
25
26            /// Destructeur ///
27            ~CDate(void);
28
29            /// Opérateurs ///
30            CDate & operator=(const CDate & date);
31            friend StdOStream & operator<<(StdOStream & out, const CDate & date);
32            friend StdIStream & operator>>(StdIStream & in, CDate & date); // Non testée.
33
34            operator Time(void) const;  // Retourne le nombre de secondes écoulées depuis la date d'origine définie dans le calendrier.
35
36            /// Traitements ///
37            bool checkDate(void); // Vérifie la validité de la date.
38
39            /// Divers accesseurs ///
40            int getYear  (void) const;
41            int getMonth (void) const;
42            int getDay   (void) const;
43            int getHour  (void) const;
44            int getMinute(void) const;
45            int getSecond(void) const;
46
47            const CCalendar & getRelCalendar(void) const;
48
49            /// Mutateurs ///
50            void setYear  (int newyear);
51            void setMonth (int newmonth);
52            void setDay (int newday);
53
54            void addMonth (int value);
55
56            /// Autres ///
57            StdString toString(void) const;
58            StdString getStryyyymmdd(void) const;
59            string getStr(const string& str) const;
60
61
62         public : /* static */
63
64            static CDate FromString(const StdString & str, const CCalendar & calendar);
65
66         private :
67
68            /// Propriétés privées ///
69            const CCalendar & relCalendar; // Calendrier lié à la Date.
70            int year, month, day, hour, minute, second; // Année, mois, ...
71
72
73      }; // class CDate;
74
75} // namespace xios
76
77#endif // __XMLIO_CDate__
Note: See TracBrowser for help on using the repository browser.