]> git.saurik.com Git - wxWidgets.git/commitdiff
support %l in wxDateTime::ParseFormat()
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 7 Mar 2009 19:36:59 +0000 (19:36 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 7 Mar 2009 19:36:59 +0000 (19:36 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
src/common/datetime.cpp

index d90c86629a04b53ef2fa4eb6590a6ded1ea97078..089db7270afff2200563adf34281be543f4cf424 100644 (file)
@@ -374,6 +374,7 @@ All:
 - Added wxProtocolLog and use it in wxFTP.
 - Added wxXmlResource::GetResourceNode().
 - Optimize wxString::Replace() to use an O(N) algorithm (Kuang-che Wu).
+- Added support of %l format specifier to wxDateTime::ParseFormat().
 
 All (Unix):
 
index 1547b4a14e14bc0c957be8820626b8e0a9f14531..2474382dba6d6190fe7b136e852d065d84d0b767 100644 (file)
@@ -3186,13 +3186,15 @@ wxDateTime::ParseFormat(const wxString& date,
          haveYear = false,
          haveHour = false,
          haveMin = false,
-         haveSec = false;
+         haveSec = false,
+         haveMsec = false;
 
     bool hourIsIn12hFormat = false, // or in 24h one?
          isPM = false;              // AM by default
 
     // and the value of the items we have (init them to get rid of warnings)
-    wxDateTime_t sec = 0,
+    wxDateTime_t msec = 0,
+                 sec = 0,
                  min = 0,
                  hour = 0;
     WeekDay wday = Inv_WeekDay;
@@ -3376,6 +3378,14 @@ wxDateTime::ParseFormat(const wxString& date,
                 yday = (wxDateTime_t)num;
                 break;
 
+            case _T('l'):       // milliseconds (0-999)
+                if ( !GetNumericToken(width, input, &num) )
+                    return NULL;
+
+                haveMsec = true;
+                msec = (wxDateTime_t)num;
+                break;
+
             case _T('m'):       // month as a number (01-12)
                 if ( !GetNumericToken(width, input, &num) || !num || (num > 12) )
                 {
@@ -3757,6 +3767,9 @@ wxDateTime::ParseFormat(const wxString& date,
         tm.sec = sec;
     }
 
+    if ( haveMsec )
+        tm.msec = msec;
+
     Set(tm);
 
     // finally check that the week day is consistent -- if we had it