]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/datetime.h
Better document wxAutomationObject::GetDispatchPtr() return value.
[wxWidgets.git] / interface / wx / datetime.h
index e8eb26d46d23bc69ea7180e9acb117143b36ec30..ab0adf6e5910e38bc5a8a2077f839e36f4d7f68d 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxDateTime
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -59,7 +59,7 @@
     in 'free' format, i.e. allow them to be specified in any of possible ways.
     These functions will usually be used to parse the (interactive) user input
     which is not bound to be in any predefined format. As an example,
-    ParseDateTime() can parse the strings such as "tomorrow", "March first" and
+    ParseDate() can parse the strings such as "tomorrow", "March first" and
     even "next Sunday".
 
     Finally notice that each of the parsing functions is available in several
@@ -244,6 +244,42 @@ public:
     };
 
 
+    /**
+        Contains broken down date-time representation.
+
+        This struct is analogous to standard C <code>struct tm</code> and uses
+        the same, not always immediately obvious, conventions for its members:
+        notably its mon and mday fields count from 0 while yday counts from 1.
+     */
+    struct Tm
+    {
+        wxDateTime_t msec,  ///< Number of milliseconds.
+                     sec,   ///< Seconds in 0..59 (60 with leap seconds) range.
+                     min,   ///< Minutes in 0..59 range.
+                     hour,  ///< Hours since midnight in 0..23 range.
+                     mday,  ///< Day of the month in 1..31 range.
+                     yday;  ///< Day of the year in 0..365 range.
+        Month mon;          ///< Month, as an enumerated constant.
+        int year;           ///< Year.
+
+        /**
+            Check if the given date/time is valid (in Gregorian calendar).
+
+            Return @false if the components don't correspond to a correct date.
+         */
+        bool IsValid() const;
+
+        /**
+            Return the week day corresponding to this date.
+
+            Unlike the other fields, the week day is not always available and
+            so must be accessed using this method as it is computed on demand
+            when it is called.
+         */
+        WeekDay GetWeekDay();
+    };
+
+
     /**
         @name Constructors, Assignment Operators and Setters
 
@@ -821,7 +857,9 @@ public:
         This function tries as hard as it can to interpret the given string as
         date and time. Unlike ParseRfc822Date(), it will accept anything that
         may be accepted and will only reject strings which can not be parsed in
-        any way at all.
+        any way at all. Notice that the function will fail if either date or
+        time part is present but not both, use ParseDate() or ParseTime() to
+        parse strings containing just the date or time component.
 
         See ParseFormat() for the description of function parameters and return
         value.
@@ -879,15 +917,15 @@ public:
         @see Format()
     */
     bool ParseFormat(const wxString& date,
-                     const wxString& format = wxDefaultDateTimeFormat,
-                     const wxDateTime& dateDef = wxDefaultDateTime,
+                     const wxString& format,
+                     const wxDateTime& dateDef,
                      wxString::const_iterator *end);
 
     /**
         @overload
     */
     bool ParseFormat(const wxString& date,
-                     const wxString& format = wxDefaultDateTimeFormat,
+                     const wxString& format,
                      wxString::const_iterator *end);
 
     /**
@@ -1461,6 +1499,10 @@ public:
 */
 const wxDateTime wxDefaultDateTime;
 
+/*
+    wxInvalidDateTime is an alias for wxDefaultDateTime.
+*/
+#define wxInvalidDateTime wxDefaultDateTime
 
 
 /**