]> git.saurik.com Git - wxWidgets.git/commitdiff
and now timezones work even better ;-)
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 10 Dec 1999 20:59:08 +0000 (20:59 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 10 Dec 1999 20:59:08 +0000 (20:59 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/console/console.cpp
src/common/datetime.cpp

index 1b29d30af23b167fe6bc6731895895ba7dcb853b..f94b716028d83b7a7e8f3ed52a848a36b9e4b79b 100644 (file)
@@ -359,13 +359,6 @@ static void TestTimeSet()
 {
     puts("\n*** wxDateTime construction test ***");
 
-#if 0
-    printf("Current time:\t%s\n", wxDateTime::Now().Format().c_str());
-    printf("Unix epoch:\t%s\n", wxDateTime((time_t)0).Format().c_str());
-    printf("Today noon:\t%s\n", wxDateTime(12, 0).Format().c_str());
-    printf("May 29, 1976:\t%s\n", wxDateTime(29, wxDateTime::May, 1976).Format().c_str());
-    printf("Jan 1, 1900:\t%s\n", wxDateTime(1, wxDateTime::Jan, 1900).Format().c_str());
-#else
     for ( size_t n = 0; n < WXSIZEOF(testDates); n++ )
     {
         const Date& d1 = testDates[n];
@@ -381,7 +374,6 @@ static void TestTimeSet()
                s1.c_str(), s2.c_str(),
                s1 == s2 ? "ok" : "ERROR");
     }
-#endif
 }
 
 // test time zones stuff
@@ -926,8 +918,8 @@ int main(int argc, char **argv)
     TestTimeZones();
     TestTimeRange();
     TestTimeTicks();
-    TestTimeJDN();
     }
+    TestTimeJDN();
 #endif // TEST_TIME
 
     wxUninitialize();
index 10f35b10fb442acf25bad6afb783b9b9be965eb2..815813e15193593643bc681aa4b05b5cf90e1006 100644 (file)
@@ -688,6 +688,7 @@ wxDateTime::Tm wxDateTime::GetTm(const TimeZone& tz) const
         }
         else
         {
+            time += tz.GetOffset();
             tm = gmtime(&time);
         }
 
@@ -701,7 +702,7 @@ wxDateTime::Tm wxDateTime::GetTm(const TimeZone& tz) const
         // remember the time and do the calculations with the date only - this
         // eliminates rounding errors of the floating point arithmetics
 
-        wxLongLong timeMidnight = m_time - GetTimeZone() * 1000;
+        wxLongLong timeMidnight = m_time + tz.GetOffset() * 1000;
 
         long timeOnly = (timeMidnight % MILLISECONDS_PER_DAY).ToLong();