1 : 	//
     2 : 	// c_date
     3 : 	//
     4 : 	// 2003.07.28 
     5 : 	//
     6 : 	
     7 : 	
     8 : 	
     9 : 	class C_DATE
    10 : 	{
    11 : 	
    12 : 	public:
    13 : 		C_DATE();
    14 : 		C_DATE(int y,int m,int d);
    15 : 		void GetLocalTime();						//現在時刻を取得
    16 : 	
    17 : 		int GetDayOfWeek(BOOL fFirstDay=FALSE);		//曜日算出(エラー=-1) d=0
    18 : 		const char* GetDayOfWeekStrJpn();
    19 : 	
    20 : 		int GetLastDayOfMonth();					//この月が何日まであるか(年、月を使用)
    21 : 	
    22 : 		int GetVernalEquinoxDay();					//春分の日を取得(年を使用)
    23 : 		int GetAutumnalEquinoxDay();				//秋分の日を取得(年を使用)
    24 : 	
    25 : 		int IsHoliday(BOOL fPrevDay=FALSE);			//祝日かどうかを取得 休日の場合は0以外
    26 : 	
    27 : 		char* GetHolidayStr();						//休日を文字列で取得
    28 : 	
    29 : 		void BackDay(BOOL fCalcDayOfWeek);			//1日戻す
    30 : 	
    31 : 	
    32 : 		//第x曜日を求める カレンダーの段数とは違う
    33 : 		int GetNumOfWeek(int d=0);	//dを指定すると今月のその日
    34 : 	
    35 : 		void operator=(C_DATE &src);
    36 : 	
    37 : 		PSYSTEMTIME GetDatePointer(){return &m_Systime;};
    38 : 	
    39 : 		//設定 曜日は再設定されないので GetDayOfWeek で計算しなおすこと
    40 : 		void SetYear(int y){m_Systime.wYear = y;}
    41 : 		void SetMonth(int m){m_Systime.wMonth = m;}
    42 : 		void SetDay(int d){m_Systime.wDay = d;}
    43 : 	
    44 : 		//取得
    45 : 		int GetYear(){return m_Systime.wYear;}
    46 : 		int GetMonth(){return m_Systime.wMonth;}
    47 : 		int GetDay(){return m_Systime.wDay;}
    48 : 	
    49 : 	
    50 : 	private:
    51 : 	
    52 : 	
    53 : 		SYSTEMTIME m_Systime;
    54 : 	
    55 : 		int m_AutumnalEquinoxDay;
    56 : 		int m_VernalEquinoxDay;
    57 : 	};
    58 : 	
    59 : 	
    60 : 	
    61 : 	typedef enum{
    62 : 		DAY_WEEKDAY = 0,
    63 : 		DAY_NEWYEARSDAY,
    64 : 		DAY_SEIJINNOHI,
    65 : 		DAY_KENKOKUKINENBI,
    66 : 		DAY_TENNOUTANJOBI,
    67 : 		DAY_MIDORINOHI,
    68 : 		DAY_KENPOUKINENBI,
    69 : 		DAY_KOKUMINNOKYUJITU5,
    70 : 		DAY_KODOMONOHI,
    71 : 		DAY_UMINOHI,
    72 : 		DAY_KEIROUNOHI,
    73 : 		DAY_TAIKUNOHI,
    74 : 		DAY_BUNKANOHI,
    75 : 		DAY_KINROUKANSYANOHI,
    76 : 		DAY_TENNOUTANJOBI2,
    77 : 		DAY_KOKUMINNOKYUJITU9,
    78 : 		DAY_SYUNBUNNOHI,
    79 : 		DAY_SYUUBUNNOHI,
    80 : 	
    81 : 		DAY_HURIKAEKYUJITU
    82 : 	}DAY_NAME;