00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _SWORD_TIME_CALENDARWESTERN_
00020 #define _SWORD_TIME_CALENDARWESTERN_
00021
00022 #include "sword/time.Calendar.h"
00023
00024 namespace sword {
00025
00027
00043 class SWORDDECL CalendarWestern : public Calendar {
00044 public:
00045 virtual void convert(Time time, word &day, word &month, word &year, word &hour, word &minute, word &second, word &millisecond) const;
00046 virtual void convert(Time time, word &day, word &month, word &year) const;
00047 virtual Time convert(word day, word month, word year, word hour, word minute, word second, word millisecond) const;
00048 virtual Time convert(word day, word month, word year) const;
00049
00051 virtual bool isLeapYear(word year) const = 0;
00052
00054 virtual int64 daysInMonth(word month, word year) const = 0;
00055
00057 virtual int64 daysInYear(word year) const = 0;
00058
00060 virtual int64 daysWithinYear(word day, word month, word year) const = 0;
00061
00063 virtual int64 daysBeforeYear(word year) const = 0;
00064
00066 virtual word weekDay(Time time) const = 0;
00067
00069 virtual Time easter(word year) const = 0;
00070 };
00071
00072 }
00073
00074 #endif // _SWORD_TIME_CALENDARWESTERN_