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