]> git.saurik.com Git - wxWidgets.git/commitdiff
fixed bug 419079 (wxDateTime::ParseTime() didn't find am/pm)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 9 Jun 2001 17:00:36 +0000 (17:00 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 9 Jun 2001 17:00:36 +0000 (17:00 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/datetime.cpp

index 5b8f33ddb352541b6825d383bb515f3ca3798388..02ab38450cd3c37ac09b1d38d763f5ab63b7dea4 100644 (file)
@@ -3371,8 +3371,12 @@ const wxChar *wxDateTime::ParseTime(const wxChar *time)
         }
     }
 
         }
     }
 
-    // try all time formats we may think about starting with the standard one
-    const wxChar *result = ParseFormat(time, _T("%X"));
+    // try all time formats we may think about in the order from longest to
+    // shortest
+
+    // 12hour with AM/PM?
+    const wxChar *result = ParseFormat(time, _T("%I:%M:%S %p"));
+
     if ( !result )
     {
         // normally, it's the same, but why not try it?
     if ( !result )
     {
         // normally, it's the same, but why not try it?
@@ -3381,8 +3385,8 @@ const wxChar *wxDateTime::ParseTime(const wxChar *time)
 
     if ( !result )
     {
 
     if ( !result )
     {
-        // 12hour with AM/PM?
-        result = ParseFormat(time, _T("%I:%M:%S %p"));
+        // 12hour with AM/PM but without seconds?
+        result = ParseFormat(time, _T("%I:%M %p"));
     }
 
     if ( !result )
     }
 
     if ( !result )
@@ -3393,8 +3397,8 @@ const wxChar *wxDateTime::ParseTime(const wxChar *time)
 
     if ( !result )
     {
 
     if ( !result )
     {
-        // 12hour with AM/PM but without seconds?
-        result = ParseFormat(time, _T("%I:%M %p"));
+        // just the hour and AM/PM?
+        result = ParseFormat(time, _T("%I %p"));
     }
 
     if ( !result )
     }
 
     if ( !result )
@@ -3405,8 +3409,9 @@ const wxChar *wxDateTime::ParseTime(const wxChar *time)
 
     if ( !result )
     {
 
     if ( !result )
     {
-        // just the hour and AM/PM?
-        result = ParseFormat(time, _T("%I %p"));
+        // parse the standard format: normally it is one of the formats above
+        // but it may be set to something completely different by the user
+        result = ParseFormat(time, _T("%X"));
     }
 
     // TODO: parse timezones
     }
 
     // TODO: parse timezones