00001 #ifndef TIMEZONE_H
00002 #define TIMEZONE_H
00003
00004 #include <iostream>
00005 #include <string>
00006
00007 using namespace std;
00008
00009 class TTimeZone
00010 {
00011 public:
00012 TTimeZone(string timeZone);
00013 bool isValid();
00014 int getLength();
00015 string get();
00016 private:
00017 string ValidateZoneName(const char* &start);
00018 string ValidateTime(const char* &start);
00019 string ValidateOffset(const char* &start);
00020 string ValidateDayOfTheYear(const char* &start);
00021 string ValidateJulianDay(const char* &start);
00022 string ValidateZeroJulianDay(const char* &start);
00023 string ValidateDayOfTheWeek(const char* &start);
00024 string readNumber(const char* &start,int &number);
00025 string Std;
00026 string StdOffset;
00027 string Dst;
00028 string DstOffset;
00029 string Start;
00030 string StartTime;
00031 string End;
00032 string EndTime;
00033 bool Valid;
00034 string TZone;
00035 };
00036 #endif
00037