]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/date.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxDate class
4 // Author: Julian Smart, Steve Marcus, Eric Simon, Chris Hill,
10 // Licence: wxWindows licence
11 /////////////////////////////////////////////////////////////////////////////
17 #pragma interface "date.h"
20 #include "wx/object.h"
21 #include "wx/string.h"
24 // These lines necessary to stop VC++ 6 being confused about namespaces
25 class WXDLLEXPORT wxDate
;
26 bool WXDLLEXPORT
operator<(const wxDate
&dt1
, const wxDate
&dt2
);
27 bool WXDLLEXPORT
operator<(const wxDate
&dt1
, const wxDate
&dt2
);
28 bool WXDLLEXPORT
operator <= (const wxDate
&dt1
, const wxDate
&dt2
);
29 bool WXDLLEXPORT
operator > (const wxDate
&dt1
, const wxDate
&dt2
);
30 bool WXDLLEXPORT
operator >= (const wxDate
&dt1
, const wxDate
&dt2
);
31 bool WXDLLEXPORT
operator == (const wxDate
&dt1
, const wxDate
&dt2
);
32 bool WXDLLEXPORT
operator != (const wxDate
&dt1
, const wxDate
&dt2
);
34 enum wxdate_format_type
{wxMDY
, wxDAY
, wxMONTH
, wxFULL
, wxEUROPEAN
};
36 #define wxNO_CENTURY 0x02
37 #define wxDATE_ABBR 0x04
39 class WXDLLEXPORT wxDate
: public wxObject
41 DECLARE_DYNAMIC_CLASS(wxDate
)
43 unsigned long julian
; // see julDate(); days since 1/1/4713 B.C.
44 int month
; // see NMonth()
46 int year
; // see NYear4()
47 int day_of_week
; // see NDOW(); 1 = Sunday, ... 7 = Saturday
51 unsigned char DisplayOptions
;
53 void julian_to_mdy (); // convert julian day to mdy
54 void julian_to_wday (); // convert julian day to day_of_week
55 void mdy_to_julian (); // convert mdy to julian day
60 wxDate (int m
, int d
, int y
);
61 wxDate (const wxString
& dat
);
62 wxDate (const wxDate
&dt
);
65 operator wxString (void);
68 void operator = (const wxDate
& date
);
69 void operator = (const wxString
& date
);
71 wxDate
operator + (long i
);
72 wxDate
operator + (int i
);
74 wxDate
operator - (long i
);
75 wxDate
operator - (int i
);
77 long operator - (const wxDate
&dt
);
79 wxDate
&operator += (long i
);
80 wxDate
&operator -= (long i
);
82 wxDate
&operator ++ (); // Prefix increment
83 wxDate
&operator ++ (int); // Postfix increment
84 wxDate
&operator -- (); // Prefix decrement
85 wxDate
&operator -- (int); // Postfix decrement
87 friend bool WXDLLEXPORT
operator < (const wxDate
&dt1
, const wxDate
&dt2
);
88 friend bool WXDLLEXPORT
operator <= (const wxDate
&dt1
, const wxDate
&dt2
);
89 friend bool WXDLLEXPORT
operator > (const wxDate
&dt1
, const wxDate
&dt2
);
90 friend bool WXDLLEXPORT
operator >= (const wxDate
&dt1
, const wxDate
&dt2
);
91 friend bool WXDLLEXPORT
operator == (const wxDate
&dt1
, const wxDate
&dt2
);
92 friend bool WXDLLEXPORT
operator != (const wxDate
&dt1
, const wxDate
&dt2
);
94 friend ostream WXDLLEXPORT
& operator << (ostream
&os
, const wxDate
&dt
);
96 wxString
FormatDate (int type
=-1) const;
97 void SetFormat (int format
);
98 int SetOption (int option
, bool enable
=TRUE
);
100 long GetJulianDate() const; // returns julian date
101 int GetDayOfYear() const; // returns relative date since Jan. 1
102 bool IsLeapYear() const; // returns TRUE if leap year, FALSE if not
104 // Version 4.0 Extension to Public Interface - CDP
106 // These 'Set's modify the date object and actually SET it
107 // They all return a reference to self (*this)
109 wxDate
&Set(); // Sets to current system date
110 wxDate
&Set(long lJulian
);
111 wxDate
&Set(int nMonth
, int nDay
, int nYear
);
113 wxDate
&AddWeeks(int nCount
= 1); //
114 wxDate
&AddMonths(int nCount
= 1); // May also pass neg# to decrement
115 wxDate
&AddYears(int nCount
= 1); //
117 int GetDay() const; // Numeric Day of date object
118 int GetDaysInMonth(); // Number of days in month (1..31)
119 int GetFirstDayOfMonth() const; // First Day Of Month (1..7)
121 wxString
GetDayOfWeekName(); // Character Day Of Week ('Sunday'..'Saturday')
122 int GetDayOfWeek() const; // (1..7)
124 int GetWeekOfMonth(); // Numeric Week Of Month (1..6)
125 int GetWeekOfYear(); // Numeric Week Of Year (1..52)
127 wxString
GetMonthName(); // Character Month name
128 int GetMonth() const; // Month Number (1..12)
129 wxDate
GetMonthStart(); // First Date Of Month
130 wxDate
GetMonthEnd(); // Last Date Of Month
132 int GetYear() const; // eg. 1992
133 wxDate
GetYearStart(); // First Date Of Year
134 wxDate
GetYearEnd(); // Last Date Of Year
136 bool IsBetween(const wxDate
& first
, const wxDate
& second
) const;
138 wxDate
Previous(int dayOfWeek
) const;