00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _GREGORIAN_CALENDAR_CONVERTER_H
00026 #define _GREGORIAN_CALENDAR_CONVERTER_H
00027
00028 #include <eyedb/CalendarConverter.h>
00029
00030 namespace eyedb {
00031
00036 class GregorianCalendarConverter : public CalendarConverter
00037 {
00038 private:
00039 char * string_date;
00040 eyedblib::int32 tmp_year;
00041 eyedblib::int16 tmp_month;
00042 eyedblib::int16 tmp_day;
00043
00044 public :
00045
00047 GregorianCalendarConverter();
00049 ~GregorianCalendarConverter();
00050
00051
00063 virtual void jday2calendar(const eyedblib::int32 julian, eyedblib::int32 * year, eyedblib::int16 * month, eyedblib::int16 * day);
00064
00076 virtual void calendar2jday(eyedblib::int32 * julian, const eyedblib::int32 year, const eyedblib::int16 month, const eyedblib::int16 day);
00077
00079 virtual eyedblib::int16 jday2day_of_year(const eyedblib::int32 julian);
00080
00082 virtual Bool jday2leap_year(const eyedblib::int32 julian);
00083
00084 virtual Weekday::Type jday2weekday(const eyedblib::int32 julian);
00085
00086
00088 virtual eyedblib::int32 ascii2jday(const char * date);
00089
00091 virtual char * jday2ascii(const eyedblib::int32 julian);
00092
00094 virtual eyedblib::int32 current_date();
00095
00096 };
00097
00098 }
00099
00100 #endif