$1 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong($input));
temp = true;
}
-%typemap(python,freearg) wxDateTime::TimeZone& {
+%typemap(freearg) wxDateTime::TimeZone& {
if (temp$argnum) delete $1;
}
// Convert a wxLongLong to a Python Long by getting the hi/lo dwords, then
// shifting and oring them together
-%typemap(python, out) wxLongLong {
+%typemap(out) wxLongLong {
PyObject *hi, *lo, *shifter, *shifted;
hi = PyLong_FromLong( $1.GetHi() );
lo = PyLong_FromLong( $1.GetLo() );
GMT_6, GMT_5, GMT_4, GMT_3, GMT_2, GMT_1,
GMT0,
GMT1, GMT2, GMT3, GMT4, GMT5, GMT6,
- GMT7, GMT8, GMT9, GMT10, GMT11, GMT12,
+ GMT7, GMT8, GMT9, GMT10, GMT11, GMT12, GMT13,
// Europe
WET = GMT0, // Western Europe Time
// Australia
A_WST = GMT8, // Western Standard Time
- A_CST = GMT12 + 1, // Central Standard Time (+9.5)
+ A_CST = GMT13 + 1, // Central Standard Time (+9.5)
A_EST = GMT10, // Eastern Standard Time
A_ESST = GMT11, // Eastern Summer Time
+ // New Zealand
+ NZST = GMT12, // Standard Time
+ NZDT = GMT13, // Daylight Saving Time
+
// Universal Coordinated Time = the new and politically correct name
// for GMT
UTC = GMT0
wxString am;
wxString pm;
wxDateTime::GetAmPmStrings(&am, &pm);
- bool blocked = wxPyBeginBlockThreads();
+ wxPyBlock_t blocked = wxPyBeginBlockThreads();
PyObject* tup = PyTuple_New(2);
PyTuple_SET_ITEM(tup, 0, wx2PyString(am));
PyTuple_SET_ITEM(tup, 1, wx2PyString(pm));
wxDateTime_t minute = 0,
wxDateTime_t second = 0,
wxDateTime_t millisec = 0));
+ %RenameCtor(DateTimeFromDateTime, wxDateTime(const wxDateTime& date));
~wxDateTime();
// resets time to 00:00:00, doesn't change the date
wxDateTime& ResetTime();
+ // get the date part of this object only, i.e. the object which has the
+ // same date as this one but time of 00:00:00
+ wxDateTime GetDateOnly() const;
+
// the following functions don't change the values of the other
// fields, i.e. SetMinute() won't change either hour or seconds value
int n = 1,
Month month = Inv_Month,
int year = Inv_Year);
-// wxDateTime GetWeekDay(WeekDay weekday,
-// int n = 1,
-// Month month = Inv_Month,
-// int year = Inv_Year);
// sets to the last weekday in the given month, year
bool SetToLastWeekDay(WeekDay weekday,
Month month = Inv_Month,
int year = Inv_Year);
- // sets the date to the given day of the given week in the year,
- // returns True on success and False if given date doesn't exist (e.g.
- // numWeek is > 53)
- bool SetToTheWeek(wxDateTime_t numWeek, WeekDay weekday = Mon, WeekFlags flags = Monday_First);
- wxDateTime GetWeek(wxDateTime_t numWeek, WeekDay weekday = Mon, WeekFlags flags = Monday_First);
-
- %pythoncode {
- SetToTheWeek = wx._deprecated(SetToTheWeek, "SetToTheWeek is deprecated, use (static) SetToWeekOfYear instead")
- GetWeek = wx._deprecated(GetWeek, "GetWeek is deprecated, use GetWeekOfYear instead")
- }
-
// returns the date corresponding to the given week day of the given
// week (in ISO notation) of the specified year
static wxDateTime SetToWeekOfYear(int year,
wxDateTime ToTimezone(const wxDateTime::TimeZone& tz, bool noDST = false);
wxDateTime& MakeTimezone(const wxDateTime::TimeZone& tz, bool noDST = false);
- // transform to GMT/UTC
- wxDateTime ToGMT(bool noDST = false);
+ // interpret current value as being in another timezone and transform
+ // it to local one
+ wxDateTime FromTimezone(const wxDateTime::TimeZone& tz, bool noDST = false) const;
+ wxDateTime& MakeFromTimezone(const wxDateTime::TimeZone& tz, bool noDST = false);
+
+ // transform to/from GMT/UTC
+ wxDateTime ToUTC(bool noDST = false) const;
+ wxDateTime& MakeUTC(bool noDST = false);
+
+ wxDateTime ToGMT(bool noDST = false) const;
wxDateTime& MakeGMT(bool noDST = false);
+ wxDateTime FromUTC(bool noDST = false) const;
+ wxDateTime& MakeFromUTC(bool noDST = false);
+
+
// is daylight savings time in effect at this moment according to the
// rules of the specified country?
//
// is the date valid (True even for non initialized objects)?
inline bool IsValid() const;
- %pythoncode { Ok = IsValid }
- %pythoncode { def __nonzero__(self): return self.Ok() };
+ %pythoncode { IsOk = IsValid }
+ %pythoncode { Ok = IsOk }
+
+ %pythoncode { def __nonzero__(self): return self.IsOk() };
// get the number of seconds since the Unix epoch - returns (time_t)-1
%pythoncode {
def __repr__(self):
if self.IsValid():
- return '<wx.DateTime: \"%s\" at %s>' % ( self.Format(), self.this)
+ f = self.Format().encode(wx.GetDefaultPyEncoding())
+ return '<wx.DateTime: \"%s\" at %s>' % ( f, self.this)
else:
return '<wx.DateTime: \"INVALID\" at %s>' % self.this
def __str__(self):
if self.IsValid():
- return self.Format()
+ return self.Format().encode(wx.GetDefaultPyEncoding())
else:
return "INVALID DateTime"
}
+
+ %property(Day, GetDay, SetDay, doc="See `GetDay` and `SetDay`");
+ %property(DayOfYear, GetDayOfYear, doc="See `GetDayOfYear`");
+ %property(Hour, GetHour, SetHour, doc="See `GetHour` and `SetHour`");
+ %property(JDN, GetJDN, SetJDN, doc="See `GetJDN` and `SetJDN`");
+ %property(JulianDayNumber, GetJulianDayNumber, doc="See `GetJulianDayNumber`");
+ %property(LastMonthDay, GetLastMonthDay, doc="See `GetLastMonthDay`");
+ %property(LastWeekDay, GetLastWeekDay, doc="See `GetLastWeekDay`");
+ %property(MJD, GetMJD, doc="See `GetMJD`");
+ %property(Millisecond, GetMillisecond, SetMillisecond, doc="See `GetMillisecond` and `SetMillisecond`");
+ %property(Minute, GetMinute, SetMinute, doc="See `GetMinute` and `SetMinute`");
+ %property(ModifiedJulianDayNumber, GetModifiedJulianDayNumber, doc="See `GetModifiedJulianDayNumber`");
+ %property(Month, GetMonth, SetMonth, doc="See `GetMonth` and `SetMonth`");
+ %property(NextWeekDay, GetNextWeekDay, doc="See `GetNextWeekDay`");
+ %property(PrevWeekDay, GetPrevWeekDay, doc="See `GetPrevWeekDay`");
+ %property(RataDie, GetRataDie, doc="See `GetRataDie`");
+ %property(Second, GetSecond, SetSecond, doc="See `GetSecond` and `SetSecond`");
+ %property(Ticks, GetTicks, doc="See `GetTicks`");
+ %property(WeekDay, GetWeekDay, doc="See `GetWeekDay`");
+ %property(WeekDayInSameWeek, GetWeekDayInSameWeek, doc="See `GetWeekDayInSameWeek`");
+ %property(WeekOfMonth, GetWeekOfMonth, doc="See `GetWeekOfMonth`");
+ %property(WeekOfYear, GetWeekOfYear, doc="See `GetWeekOfYear`");
+ %property(Year, GetYear, SetYear, doc="See `GetYear` and `SetYear`");
+ %property(YearDay, GetYearDay, doc="See `GetYearDay`");
+
};
//---------------------------------------------------------------------------
class wxTimeSpan
{
public:
+
+ // TODO: Need an input typemap for wxLongLong...
+
+
+ // return the timespan for the given number of milliseconds
+ static wxTimeSpan Milliseconds(/*wxLongLong*/ long ms);
+ static wxTimeSpan Millisecond();
// return the timespan for the given number of seconds
- static wxTimeSpan Seconds(long sec);
+ static wxTimeSpan Seconds(/*wxLongLong*/ long sec);
static wxTimeSpan Second();
// return the timespan for the given number of minutes
// milliseconds)
wxTimeSpan(long hours = 0,
long minutes = 0,
- long seconds = 0,
- long milliseconds = 0);
+ /*wxLongLong*/ long seconds = 0,
+ /*wxLongLong*/ long milliseconds = 0);
~wxTimeSpan();
%pythoncode {
def __repr__(self):
- return '<wx.TimeSpan: \"%s\" at %s>' % ( self.Format(), self.this)
+ f = self.Format().encode(wx.GetDefaultPyEncoding())
+ return '<wx.TimeSpan: \"%s\" at %s>' % ( f, self.this)
def __str__(self):
- return self.Format()
+ return self.Format().encode(wx.GetDefaultPyEncoding())
}
+
+ %property(Days, GetDays, doc="See `GetDays`");
+ %property(Hours, GetHours, doc="See `GetHours`");
+ %property(Milliseconds, GetMilliseconds, doc="See `GetMilliseconds`");
+ %property(Minutes, GetMinutes, doc="See `GetMinutes`");
+ %property(Seconds, GetSeconds, doc="See `GetSeconds`");
+ %property(Weeks, GetWeeks, doc="See `GetWeeks`");
};
bool __eq__(const wxDateSpan* other) { return other ? (*self == *other) : false; }
bool __ne__(const wxDateSpan* other) { return other ? (*self != *other) : true; }
}
+
+ %property(Days, GetDays, SetDays, doc="See `GetDays` and `SetDays`");
+ %property(Months, GetMonths, SetMonths, doc="See `GetMonths` and `SetMonths`");
+ %property(TotalDays, GetTotalDays, doc="See `GetTotalDays`");
+ %property(Weeks, GetWeeks, SetWeeks, doc="See `GetWeeks` and `SetWeeks`");
+ %property(Years, GetYears, SetYears, doc="See `GetYears` and `SetYears`");
};