+// wxDateTime and timezones
+// ----------------------------------------------------------------------------
+
+wxDateTime wxDateTime::ToTimezone(const wxDateTime::TimeZone& tz) const
+{
+ return wxDateTime(*this).MakeTimezone(tz);
+}
+
+// ----------------------------------------------------------------------------
+// wxTimeSpan construction
+// ----------------------------------------------------------------------------
+
+wxTimeSpan::wxTimeSpan(int hours, int minutes, int seconds, int milliseconds)
+{
+ // assign first to avoid precision loss
+ m_diff = hours;
+ m_diff *= 60;
+ m_diff += minutes;
+ m_diff *= 60;
+ m_diff += seconds;
+ m_diff *= 1000;
+ m_diff += milliseconds;
+}
+
+// ----------------------------------------------------------------------------
+// wxTimeSpan accessors
+// ----------------------------------------------------------------------------
+
+wxLongLong wxTimeSpan::GetSeconds() const
+{
+ return m_diff / 1000l;
+}
+
+int wxTimeSpan::GetMinutes() const
+{
+ return (GetSeconds() / 60l).GetLo();
+}
+
+int wxTimeSpan::GetHours() const
+{
+ return GetMinutes() / 60;
+}
+
+int wxTimeSpan::GetDays() const
+{
+ return GetHours() / 24;
+}
+
+int wxTimeSpan::GetWeeks() const
+{
+ return GetDays() / 7;
+}
+
+// ----------------------------------------------------------------------------
+// wxTimeSpan arithmetics