X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6e6b35578d9be94739e1f9ebadcb57d9a483db6a..9269629e9edf24ce170f225d408a5472ab6864ac:/wxPython/src/_datetime.i diff --git a/wxPython/src/_datetime.i b/wxPython/src/_datetime.i index 4bba1d2124..8184fd5c92 100644 --- a/wxPython/src/_datetime.i +++ b/wxPython/src/_datetime.i @@ -30,7 +30,7 @@ MAKE_CONST_WXSTRING(DefaultTimeSpanFormat); $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; } @@ -42,7 +42,7 @@ MAKE_CONST_WXSTRING(DefaultTimeSpanFormat); // 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() ); @@ -586,10 +586,22 @@ public: 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? // @@ -860,12 +872,13 @@ public: %pythoncode { def __repr__(self): if self.IsValid(): - return '' % ( self.Format(), self.this) + f = self.Format().encode(wx.GetDefaultPyEncoding()) + return '' % ( f, self.this) else: return '' % self.this def __str__(self): if self.IsValid(): - return self.Format() + return self.Format().encode(wx.GetDefaultPyEncoding()) else: return "INVALID DateTime" } @@ -1011,9 +1024,10 @@ public: %pythoncode { def __repr__(self): - return '' % ( self.Format(), self.this) + f = self.Format().encode(wx.GetDefaultPyEncoding()) + return '' % ( f, self.this) def __str__(self): - return self.Format() + return self.Format().encode(wx.GetDefaultPyEncoding()) } };