]> git.saurik.com Git - wxWidgets.git/commitdiff
Common default datetime formats.
authorWłodzimierz Skiba <abx@abx.art.pl>
Mon, 17 Jan 2005 21:29:23 +0000 (21:29 +0000)
committerWłodzimierz Skiba <abx@abx.art.pl>
Mon, 17 Jan 2005 21:29:23 +0000 (21:29 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/datetime.tex
docs/latex/wx/timespan.tex
include/wx/datetime.h
include/wx/generic/gridctrl.h
src/common/datetime.cpp
src/generic/logg.cpp

index 57ecb54df65b677019d741b0952ae60225364de6..d87afb1c8ecff06e359216ad346eabaaee1a7fa5 100644 (file)
@@ -121,7 +121,7 @@ parameters is one of the following values:
 \end{verbatim}
 
 Date calculations often depend on the country and wxDateTime allows to set the
-country whose conventions should be used using 
+country whose conventions should be used using
 \helpref{SetCountry}{wxdatetimesetcountry}. It takes one of the following
 values as parameter:
 
@@ -148,7 +148,7 @@ values as parameter:
 Different parts of the world use different conventions for the week start.
 In some countries, the week starts on Sunday, while in others -- on Monday.
 The ISO standard doesn't address this issue, so we support both conventions in
-the functions whose result depends on it (\helpref{GetWeekOfYear}{wxdatetimegetweekofyear} and 
+the functions whose result depends on it (\helpref{GetWeekOfYear}{wxdatetimegetweekofyear} and
 \helpref{GetWeekOfMonth}{wxdatetimegetweekofmonth}).
 
 The desired behvaiour may be specified by giving one of the following
@@ -192,7 +192,7 @@ Please note that although several function accept an extra {\it Calendar}
 parameter, it is currently ignored as only the Gregorian calendar is
 supported. Future versions will support other calendars.
 
-\pythonnote{These methods are standalone functions named 
+\pythonnote{These methods are standalone functions named
 {\tt wxDateTime\_<StaticMethodName>} in wxPython.}
 
 \helpref{SetCountry}{wxdatetimesetcountry}\\
@@ -253,7 +253,7 @@ values were correct as constructors can not return an error code.
 \membersection{Accessors}\label{datetimeaccessors}
 
 Here are the trivial accessors. Other functions, which might have to perform
-some more complicated calculations to find the answer are under the 
+some more complicated calculations to find the answer are under the
 \helpref{Calendar calculations}{datetimecalculations} section.
 
 \helpref{IsValid}{wxdatetimeisvalid}\\
@@ -318,32 +318,32 @@ defined to be equivalent to the second forms of these functions.
 
 These functions convert wxDateTime objects to and from text. The
 conversions to text are mostly trivial: you can either do it using the default
-date and time representations for the current locale ( 
-\helpref{FormatDate}{wxdatetimeformatdate} and 
+date and time representations for the current locale (
+\helpref{FormatDate}{wxdatetimeformatdate} and
 \helpref{FormatTime}{wxdatetimeformattime}), using the international standard
-representation defined by ISO 8601 ( 
-\helpref{FormatISODate}{wxdatetimeformatisodate} and 
+representation defined by ISO 8601 (
+\helpref{FormatISODate}{wxdatetimeformatisodate} and
 \helpref{FormatISOTime}{wxdatetimeformatisotime}) or by specifying any format
 at all and using \helpref{Format}{wxdatetimeformat} directly.
 
 The conversions from text are more interesting, as there are much more
-possibilities to care about. The simplest cases can be taken care of with 
+possibilities to care about. The simplest cases can be taken care of with
 \helpref{ParseFormat}{wxdatetimeparseformat} which can parse any date in the
 given (rigid) format. \helpref{ParseRfc822Date}{wxdatetimeparserfc822date} is
 another function for parsing dates in predefined format -- the one of RFC 822
 which (still...) defines the format of email messages on the Internet. This
-format can not be described with {\tt strptime(3)}-like format strings used by 
+format can not be described with {\tt strptime(3)}-like format strings used by
 \helpref{Format}{wxdatetimeformat}, hence the need for a separate function.
 
-But the most interesting functions are 
-\helpref{ParseTime}{wxdatetimeparsetime}, 
-\helpref{ParseDate}{wxdatetimeparsedate} and 
+But the most interesting functions are
+\helpref{ParseTime}{wxdatetimeparsetime},
+\helpref{ParseDate}{wxdatetimeparsedate} and
 \helpref{ParseDateTime}{wxdatetimeparsedatetime}. They try to parse the date
 ans time (or only one of them) 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, \helpref{ParseDateTime}{wxdatetimeparsedatetime} can
-parse the strings such as {\tt "tomorrow"}, {\tt "March first"} and even 
+parse the strings such as {\tt "tomorrow"}, {\tt "March first"} and even
 {\tt "next Sunday"}.
 
 \helpref{ParseRfc822Date}{wxdatetimeparserfc822date}\\
@@ -601,7 +601,7 @@ Example:
     printf("Current time in Paris:\t%s\n", now.Format("%c", wxDateTime::CET).c_str());
 \end{verbatim}
 
-Note that this function is accurate up to second: 
+Note that this function is accurate up to second:
 \helpref{wxDateTime::UNow}{wxdatetimeunow} should be used for better precision
 (but it is less efficient and might not be available on all platforms).
 
@@ -698,7 +698,7 @@ Same as \helpref{Set}{wxdatetimewxdatetimetime}
 
 \membersection{wxDateTime::wxDateTime}\label{wxdatetimewxdatetimedate}
 
-\func{wxDateTime\&}{wxDateTime}{\param{wxDateTime\_t }{day}, \param{Month }{month = Inv\_Month}, \param{int}{ Inv\_Year}, 
+\func{wxDateTime\&}{wxDateTime}{\param{wxDateTime\_t }{day}, \param{Month }{month = Inv\_Month}, \param{int}{ Inv\_Year},
 \param{wxDateTime\_t }{hour = 0}, \param{wxDateTime\_t }{minute = 0}, \param{wxDateTime\_t }{second = 0}, \param{wxDateTime\_t }{millisec = 0}}
 
 Same as \helpref{Set}{wxdatetimesetdate}
@@ -935,7 +935,7 @@ more than half of its days in this year. Accordingly, the week number will
 always be in $1\ldots53$ range ($52$ for non leap years).
 
 The function depends on the \helpref{week start}{wxdatetime} convention
-specified by the {\it flags} argument but its results for 
+specified by the {\it flags} argument but its results for
 \texttt{Sunday\_First} are not well-defined as the ISO definition quoted above
 applies to the weeks starting on Monday only.
 
@@ -973,8 +973,8 @@ calculations make sense for it).
 
 \func{wxDateTime\&}{Set}{\param{unsigned long }{ddt}}
 
-Sets the date from the date and time in 
-\urlref{DOS}{http://developer.novell.com/ndk/doc/smscomp/index.html?page=/ndk/doc/smscomp/sms\_docs/data/hc2vlu5i.html} 
+Sets the date from the date and time in
+\urlref{DOS}{http://developer.novell.com/ndk/doc/smscomp/index.html?page=/ndk/doc/smscomp/sms\_docs/data/hc2vlu5i.html}
 format.
 
 
@@ -982,8 +982,8 @@ format.
 
 \constfunc{unsigned long}{GetAsDOS}{\void}
 
-Returns the date and time in 
-\urlref{DOS}{http://developer.novell.com/ndk/doc/smscomp/index.html?page=/ndk/doc/smscomp/sms\_docs/data/hc2vlu5i.html} 
+Returns the date and time in
+\urlref{DOS}{http://developer.novell.com/ndk/doc/smscomp/index.html?page=/ndk/doc/smscomp/sms\_docs/data/hc2vlu5i.html}
 format.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%% comparison %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1147,7 +1147,7 @@ free ways, you should use \helpref{ParseDateTime}{wxdatetimeparsedatetime} or
 
 \membersection{wxDateTime::ParseFormat}\label{wxdatetimeparseformat}
 
-\func{const wxChar *}{ParseFormat}{\param{const wxChar *}{date}, \param{const wxChar *}{format = "\%c"}, \param{const wxDateTime\& }{dateDef = wxDefaultDateTime}}
+\func{const wxChar *}{ParseFormat}{\param{const wxChar *}{date}, \param{const wxChar *}{format = wxDefaultDateTimeFormat}, \param{const wxDateTime\& }{dateDef = wxDefaultDateTime}}
 
 This function parses the string {\it date} according to the given
 {\it format}. The system {\tt strptime(3)} function is used whenever available,
@@ -1190,7 +1190,7 @@ implemented, so always returns NULL.
 \func{const wxChar *}{ParseDate}{\param{const wxChar *}{date}}
 
 This function is like \helpref{ParseDateTime}{wxdatetimeparsedatetime}, but it
-only allows the date to be specified. It is thus less flexible then 
+only allows the date to be specified. It is thus less flexible then
 \helpref{ParseDateTime}{wxdatetimeparsedatetime}, but also has less chances to
 misinterpret the user input.
 
@@ -1211,7 +1211,7 @@ the character which stopped the scan.
 
 \membersection{wxDateTime::Format}\label{wxdatetimeformat}
 
-\constfunc{wxString }{Format}{\param{const wxChar *}{format = "\%c"}, \param{const TimeZone\& }{tz = Local}}
+\constfunc{wxString }{Format}{\param{const wxChar *}{format = wxDefaultDateTimeFormat}, \param{const TimeZone\& }{tz = Local}}
 
 This function does the same as the standard ANSI C {\tt strftime(3)} function.
 Please see its description for the meaning of {\it format} parameter.
@@ -1273,7 +1273,7 @@ Returns the reference to the modified object itself.
 
 \constfunc{wxDateTime}{GetWeekDayInSameWeek}{\param{WeekDay }{weekday}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
 
-Returns the copy of this object to which 
+Returns the copy of this object to which
 \helpref{SetToWeekDayInSameWeek}{wxdatetimesettoweekdayinsameweek} was
 applied.
 
@@ -1367,7 +1367,7 @@ given \arg{year} . The number should be in range $1\ldots53$.
 
 Note that the returned date may be in a different year than the one passed to
 this function because both the week $1$ and week $52$ or $53$ (for leap years)
-contain days from different years. See 
+contain days from different years. See
 \helpref{GetWeekOfYear}{wxdatetimegetweekofyear} for the explanation of how the
 year weeks are counted.
 
index a24ef1713c19af3a9e3558d391eb1d0f459a162c..6150c18987562e2ab9cb5bddaec2865ff138ff9f 100644 (file)
@@ -115,7 +115,7 @@ Returns the timespan for one day.
 
 \membersection{wxTimeSpan::Format}\label{wxtimespanformat}
 
-\func{wxString}{Format}{\param{const wxChar * }{format = "\%H:\%M:\%S"}}
+\func{wxString}{Format}{\param{const wxChar * }{format = wxDefaultTimeSpanFormat}}
 
 Returns the string containing the formatted representation of the time span.
 The following format specifiers are allowed after \%:
index 2ed9826fea509faf0f330f252786840759f44573..bf85baa01bf6e60ccdc3641bd8bd3d6a9c740d26 100644 (file)
@@ -110,7 +110,10 @@ class WXDLLIMPEXP_BASE wxDateSpan;
 // wxInvalidDateTime)
 class WXDLLIMPEXP_BASE wxDateTime;
 
+extern WXDLLIMPEXP_DATA_BASE(const wxChar*) wxDefaultDateTimeFormat;
+extern WXDLLIMPEXP_DATA_BASE(const wxChar*) wxDefaultTimeSpanFormat;
 extern WXDLLIMPEXP_DATA_BASE(const wxDateTime) wxDefaultDateTime;
+
 #define wxInvalidDateTime wxDefaultDateTime
 
 // ----------------------------------------------------------------------------
@@ -935,7 +938,7 @@ public:
         // default, they will not change if they had valid values or will
         // default to Today() otherwise)
     const wxChar *ParseFormat(const wxChar *date,
-                              const wxChar *format = _T("%c"),
+                              const wxChar *format = wxDefaultDateTimeFormat,
                               const wxDateTime& dateDef = wxDefaultDateTime);
         // parse a string containing the date/time in "free" format, this
         // function will try to make an educated guess at the string contents
@@ -950,7 +953,7 @@ public:
         // argument corresponds to the preferred date and time representation
         // for the current locale) and returns the string containing the
         // resulting text representation
-    wxString Format(const wxChar *format = _T("%c"),
+    wxString Format(const wxChar *format = wxDefaultDateTimeFormat,
                     const TimeZone& tz = Local) const;
         // preferred date representation for the current locale
     wxString FormatDate() const { return Format(_T("%x")); }
@@ -1138,7 +1141,7 @@ public:
         // resulting text representation. Notice that only some of format
         // specifiers valid for wxDateTime are valid for wxTimeSpan: hours,
         // minutes and seconds make sense, but not "PM/AM" string for example.
-    wxString Format(const wxChar *format = _T("%H:%M:%S")) const;
+    wxString Format(const wxChar *format = wxDefaultTimeSpanFormat) const;
 
     // implementation
     // ------------------------------------------------------------------------
index ddcc1bc69d551f1c01c01642d238f614c1ca9814..a61a2f4592fa501c19ecd351db7a8cd0ec1082d4 100644 (file)
@@ -32,8 +32,8 @@
 class WXDLLIMPEXP_ADV wxGridCellDateTimeRenderer : public wxGridCellStringRenderer
 {
 public:
-    wxGridCellDateTimeRenderer(wxString outformat =  _T("%c"),
-                               wxString informat =  _T("%c"));
+    wxGridCellDateTimeRenderer(wxString outformat = wxDefaultDateTimeFormat,
+                               wxString informat = wxDefaultDateTimeFormat);
 
     // draw the string right aligned
     virtual void Draw(wxGrid& grid,
index 9a102f00c6542048fba363bc95316d1dd75d71c2..9a2476991c072d40727e976dcd95a2609a76356c 100644 (file)
@@ -233,6 +233,9 @@ static const wxDateTime::wxDateTime_t gs_cumulatedDays[2][MONTHS_IN_YEAR] =
 // global data
 // ----------------------------------------------------------------------------
 
+const wxChar * wxDefaultDateTimeFormat = wxT("%c");
+const wxChar * wxDefaultTimeSpanFormat = wxT("%H:%M:%S");
+
 // in the fine tradition of ANSI C we use our equivalent of (time_t)-1 to
 // indicate an invalid wxDateTime object
 const wxDateTime wxDefaultDateTime;
index a084cc8bc4c639a07fc9a6bb633fc6aa46be6d2f..727f33a11d0909ad28e3e98efec6ac8b9d560d77 100644 (file)
@@ -73,6 +73,8 @@
     #include <wtime.h>
 #endif
 
+#include "wx/datetime.h"
+
 // the suffix we add to the button to show that the dialog can be expanded
 #define EXPAND_SUFFIX _T(" >>")
 
@@ -866,7 +868,7 @@ void wxLogDialog::CreateDetailsControls()
     if ( !fmt )
     {
         // default format
-        fmt = _T("%c");
+        fmt = wxDefaultDateTimeFormat;
     }
 
     size_t count = m_messages.GetCount();
@@ -952,7 +954,7 @@ void wxLogDialog::OnSave(wxCommandEvent& WXUNUSED(event))
     if ( !fmt )
     {
         // default format
-        fmt = _T("%c");
+        fmt = wxDefaultDateTimeFormat;
     }
 
     size_t count = m_messages.GetCount();