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
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:25 MET