#ifndef _WX_DATE_H_
#define _WX_DATE_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "date.h"
#endif
wxDate(long j) : m_date((double)(j + 0.5)) { Init(); }
wxDate(int m, int d, int y) : m_date(d, (wxDateTime::Month)m, y) { Init(); }
wxDate(const wxString& dat) { Init(); (void)m_date.ParseDate(dat); }
- wxDate(const wxDate &date) { *this = date; }
+ wxDate(const wxDate &date) : wxObject() { *this = date; }
wxDate(const wxDateTime& dt) { Init(); m_date = dt; }
long operator-(const wxDate &dt) const
{ return GetJulianDate() - dt.GetJulianDate(); }
- wxDate &operator+=(long i) { m_date += wxTimeSpan::Days(i); return *this; }
- wxDate &operator-=(long i) { m_date -= wxTimeSpan::Days(i); return *this; }
+ wxDate &operator+=(long i) { m_date += wxTimeSpan::Days((int)i); return *this; }
+ wxDate &operator-=(long i) { m_date -= wxTimeSpan::Days((int)i); return *this; }
wxDate &operator++() { return *this += 1; }
wxDate &operator++(int) { return *this += 1; }
wxDate &operator--(int) { return *this -= 1; }
#if wxUSE_STD_IOSTREAM
- friend ostream WXDLLEXPORT & operator <<(ostream &os, const wxDate &dt)
+ friend wxSTD ostream WXDLLEXPORT & operator <<(wxSTD ostream &os, const wxDate &dt)
{ return os << dt.FormatDate().mb_str(); }
#endif
int GetMonth() const { return m_date.GetMonth() + 1; }
// First Date Of Month
- wxDate GetMonthStart() const { return(wxDate(GetMonth(), 1, GetYear())); }
+ wxDate GetMonthStart() const { return(wxDate(GetMonth()-1, 1, GetYear())); }
// Last Date Of Month
- wxDate GetMonthEnd() const { return wxDate(GetMonth()+1, 1, GetYear())-1; }
+ wxDate GetMonthEnd() const { return wxDate(GetMonth(), 1, GetYear())-1; }
// eg. 1992
int GetYear() const { return m_date.GetYear(); }
// First Date Of Year
- wxDate GetYearStart() const { return wxDate(1, 1, GetYear()); }
+ wxDate GetYearStart() const { return wxDate(0, 1, GetYear()); }
// Last Date Of Year
- wxDate GetYearEnd() const { return wxDate(1, 1, GetYear()+1) - 1; }
+ wxDate GetYearEnd() const { return wxDate(0, 1, GetYear()+1) - 1; }
bool IsBetween(const wxDate& first, const wxDate& second) const
{