Hi Fons,
Wouldn't this bring some confusion ? We will have then three ways of
managing time : TDatime, TSDate, and time on axis. I understand very
well that they don't adress the same problem and Eddy's class is
certainly valuable. Perhaps some reflexion about a coherent approach
would be nice.
Cheers
Damir
Fons Rademakers wrote:
>
> Hi Eddy,
>
> when you think your classes are fully debugged and properly commented,
> we would be happy to include them in ROOT.
>
> Cheers, Fons.
>
> Eddy Offermann wrote:
> >
> > Hi Steve,
> >
> > The class in my little example was to convert between dates given in
> > mm/dd/yy or mm/dd/yyyy format and business days (skipping saturdays and sundays).
> > Its use is probably only for the financial world, maybe interesting to incorporate
> > in a more general date time class. Its layout is as follows:
> >
> > #ifndef ROOT_DATE
> > #define ROOT_DATE
> >
> > //////////////////////////////////////////////////////////////////////////
> > // //
> > // TSDate //
> > // //
> > // Class implementing interface to convert between calender //
> > // and bussines days //
> > // //
> > //////////////////////////////////////////////////////////////////////////
> >
> > #include <stdlib.h>
> >
> > #include "TObject.h"
> > #include "TMath.h"
> > #include "TString.h"
> >
> > class TSDate : public TObject
> > {
> >
> > protected:
> > Long_t fBusinessDate; // business date number
> >
> > void Copy(TObject& obj);
> >
> > private:
> > Long_t JulianDateToBusinessDate(Long_t julianDate);
> > Long_t BusinessDateToJulianDate(Long_t businessDate);
> > Long_t StringToBusinessDate(const Char_t string[]);
> > Long_t StringToJulianDate(const Char_t string[]);
> > Char_t* JulianDateToString(Long_t julianDate);
> > Char_t* BusinessDateToString(Long_t businessDate);
> > Int_t FromString(const Char_t *string, Int_t &month, Int_t &day, Int_t &year);
> >
> > public:
> > TSDate();
> > TSDate(Long_t dayNr);
> > TSDate(const Char_t* dayString);
> > TSDate(const TSDate& date);
> > virtual ~TSDate();
> >
> > void SetDate (Long_t dayNr);
> > void SetDate (const Char_t* dayString);
> > Long_t const GetDateNr () const { return fBusinessDate; }
> > Int_t const GetYear ();
> > Int_t const GetMonth ();
> > Int_t const GetDay ();
> > void GetDateSpan (Long_t dayNr, Int_t &dMonth, Int_t &dDay, Int_t &dYear);
> > void GetDateSpan (const Char_t* dateString, Int_t &dMonth, Int_t &dDay, Int_t &dYear);
> > const Char_t*
> > GetDateString ();
> >
> > TSDate& operator=(const TSDate &date);
> >
> > friend TSDate MinDate(TSDate &date1, TSDate &date2);
> > friend TSDate MaxDate(TSDate &date1, TSDate &date2);
> >
> > ClassDef(TSDate,0) //Conversion from and to bussiness dates
> > };
> >
> > #endif
> >
> > Eddy
>
> --
> Org: CERN, European Laboratory for Particle Physics.
> Mail: 1211 Geneve 23, Switzerland
> E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248
> WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7677910
--
=====================================================================
| Damir Buskulic | Universite de Savoie/LAPP |
| | Chemin de Bellevue, B.P. 110 |
| Tel : +33 (0)450091600 | F-74941 Annecy-le-Vieux Cedex |
| e-mail: buskulic@lapp.in2p3.fr | FRANCE |
=====================================================================
mailto:buskulic@lapp.in2p3.fr
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:25 MET