%% Created: 07.03.00
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
-%% License: wxWindows license
+%% License: wxWidgets license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxDateTime}}\label{wxdatetime}
};
\end{verbatim}
-Different parst of the world use different conventions for the week start.
-In some countries, the week starts on Sunday, while in others - on Monday.
+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
\helpref{GetWeekOfMonth}{wxdatetimegetweekofmonth}).
\helpref{Set(double jdn)}{wxdatetimesetjdn}\\
\helpref{Set(h, m, s, ms)}{wxdatetimesettime}\\
\helpref{Set(day, mon, year, h, m, s, ms)}{wxdatetimesetdate}\\
+\helpref{SetFromDOS(unsigned long ddt)}{wxdatetimesetfromdos}\\
\helpref{ResetTime}{wxdatetimeresettime}\\
\helpref{SetYear}{wxdatetimesetyear}\\
\helpref{SetMonth}{wxdatetimesetmonth}\\
\helpref{SetSecond}{wxdatetimesetsecond}\\
\helpref{SetMillisecond}{wxdatetimesetmillisecond}\\
\helpref{operator$=$(time\_t)}{wxdatetimeoperatoreqtimet}\\
-\helpref{operator$=$(struct tm)}{wxdatetimeoperatoreqtm}
-%\helpref{operator$=$(struct Tm)}{wxdatetimeoperatortm2}
+\helpref{operator$=$(struct tm)}{wxdatetimeoperatoreqtm}\rtfsp
\membersection{Accessors}
\helpref{GetDay}{wxdatetimegetday}\\
\helpref{GetWeekDay}{wxdatetimegetweekday}\\
\helpref{GetHour}{wxdatetimegethour}\\
-\helpref{GeTMinute}{wxdatetimegetminute}\\
+\helpref{GetMinute}{wxdatetimegetminute}\\
\helpref{GetSecond}{wxdatetimegetsecond}\\
\helpref{GetMillisecond}{wxdatetimegetmillisecond}\\
\helpref{GetDayOfYear}{wxdatetimegetdayofyear}\\
\helpref{GetWeekOfMonth}{wxdatetimegetweekofmonth}\\
\helpref{GetYearDay}{wxdatetimegetyearday}\\
\helpref{IsWorkDay}{wxdatetimeisworkday}\\
-\helpref{IsGregorianDate}{wxdatetimeisgregoriandate}
+\helpref{IsGregorianDate}{wxdatetimeisgregoriandate}\\
+\helpref{GetAsDOS}{wxdatetimegetasdos}
\membersection{Date comparison}
\membersection{Parsing and formatting dates}
-These functions perform convert wxDateTime obejcts to and from text. The
+These functions convert wxDateTime obejcts 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 simples 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
+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{ParseDateTime}{wxdatetimeparsedatetime} and
+\helpref{ParseTime}{wxdatetimeparsetime},
\helpref{ParseDate}{wxdatetimeparsedate} and
-\helpref{ParseTime}{wxdatetimeparsetime}. 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"}, {\tt "next Sunday"}.
+\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
+{\tt "next Sunday"}.
\helpref{ParseRfc822Date}{wxdatetimeparserfc822date}\\
\helpref{ParseFormat}{wxdatetimeparseformat}\\
week with given number (either in the month or in the year) and so on.
All (non-const) functions in this section don't modify the time part of the
-wxDateTime - they only work with the date part of it.
+wxDateTime -- they only work with the date part of it.
\helpref{SetToWeekDayInSameWeek}{wxdatetimesettoweekdayinsameweek}\\
\helpref{GetWeekDayInSameWeek}{wxdatetimegetweekdayinsameweek}\\
\func{static bool}{IsLeapYear}{\param{int }{year = Inv\_Year}, \param{Calendar }{cal = Gregorian}}
-Returns {\tt TRUE} if the {\it year} is a leap one in the specified calendar.
+Returns {\tt true} if the {\it year} is a leap one in the specified calendar.
This functions supports Gregorian and Julian calendars.
\func{static bool}{IsWestEuropeanCountry}{\param{Country }{country = Country\_Default}}
-This function returns {\tt TRUE} if the specified (or default) country is one
+This function returns {\tt true} if the specified (or default) country is one
of Western European ones. It is used internally by wxDateTime to determine the
DST convention and date and time formatting rules.
\func{static bool}{IsDSTApplicable}{\param{int }{year = Inv\_Year}, \param{Country }{country = Country\_Default}}
-Returns {\tt TRUE} if DST was used n the given year (the current one by
+Returns {\tt true} if DST was used n the given year (the current one by
default) in the given country.
\membersection{wxDateTime::Now}\label{wxdatetimenow}
\constfunc{bool}{IsValid}{\void}
-Returns {\tt TRUE} if the object represents a valid time moment.
+Returns {\tt true} if the object represents a valid time moment.
\membersection{wxDateTime::GetTm}\label{wxdatetimegettm}
\constfunc{bool}{IsWorkDay}{\param{Country }{country = Country\_Default}}
-Returns {\tt TRUE} is this day is not a holiday in the given country.
+Returns {\tt true} is this day is not a holiday in the given country.
\membersection{wxDateTime::IsGregorianDate}\label{wxdatetimeisgregoriandate}
\constfunc{bool}{IsGregorianDate}{\param{GregorianAdoption }{country = Gr\_Standard}}
-Returns {\tt TRUE} if the given date os later than the date of adoption of the
+Returns {\tt true} if the given date os later than the date of adoption of the
Gregorian calendar in the given country (and hence the Gregorian calendar
calculations make sense for it).
+%%%%%%%%%%%%%%%%%%%%%% dos date and time format %%%%%%%%%%%%%%%%%%%%%%%
+
+\membersection{wxDateTime::SetFromDOS}\label{wxdatetimesetfromdos}
+
+\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}
+format.
+
+\membersection{wxDateTime::GetAsDOS}\label{wxdatetimegetasdos}
+
+\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}
+format.
+
%%%%%%%%%%%%%%%%%%%%%%%%%%% comparison %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\membersection{wxDateTime::IsEqualTo}\label{wxdatetimeisequalto}
\constfunc{bool}{IsEqualTo}{\param{const wxDateTime\& }{datetime}}
-Returns {\tt TRUE} if the two dates are strictly identical.
+Returns {\tt true} if the two dates are strictly identical.
\membersection{wxDateTime::IsEarlierThan}\label{wxdatetimeisearlierthan}
\constfunc{bool}{IsEarlierThan}{\param{const wxDateTime\& }{datetime}}
-Returns {\tt TRUE} if this date precedes the given one.
+Returns {\tt true} if this date precedes the given one.
\membersection{wxDateTime::IsLaterThan}\label{wxdatetimeislaterthan}
\constfunc{bool}{IsLaterThan}{\param{const wxDateTime\& }{datetime}}
-Returns {\tt TRUE} if this date is later than the given one.
+Returns {\tt true} if this date is later than the given one.
\membersection{wxDateTime::IsStrictlyBetween}\label{wxdatetimeisstrictlybetween}
\constfunc{bool}{IsStrictlyBetween}{\param{const wxDateTime\& }{t1}, \param{const wxDateTime\& }{t2}}
-Returns {\tt TRUE} if this date lies strictly between the two others,
+Returns {\tt true} if this date lies strictly between the two others,
\wxheading{See also}
\constfunc{bool}{IsBetween}{\param{const wxDateTime\& }{t1}, \param{const wxDateTime\& }{t2}}
-Returns {\tt TRUE} if \helpref{IsStrictlyBetween}{wxdatetimeisstrictlybetween}
-is {\tt TRUE} or if the date is equal to one of the limit values.
+Returns {\tt true} if \helpref{IsStrictlyBetween}{wxdatetimeisstrictlybetween}
+is {\tt true} or if the date is equal to one of the limit values.
\wxheading{See also}
\constfunc{bool}{IsSameDate}{\param{const wxDateTime\& }{dt}}
-Returns {\tt TRUE} if the date is the same without comparing the time parts.
+Returns {\tt true} if the date is the same without comparing the time parts.
\membersection{wxDateTime::IsSameTime}\label{wxdatetimeissametime}
\constfunc{bool}{IsSameTime}{\param{const wxDateTime\& }{dt}}
-Returns {\tt TRUE} if the time is the same (although dates may differ).
+Returns {\tt true} if the time is the same (although dates may differ).
\membersection{wxDateTime::IsEqualUpTo}\label{wxdatetimeisequalupto}
\constfunc{bool}{IsEqualUpTo}{\param{const wxDateTime\& }{dt}, \param{const wxTimeSpan\& }{ts}}
-Returns {\tt TRUE} if the date is equal to another one up to the given time
+Returns {\tt true} if the date is equal to another one up to the given time
interval, i.e. if the absolute difference between the two dates is less than
this interval.
\pythonnote{This method is named {\tt AddTS} in wxPython.}
-\membersection{wxDateTime::Subtract}\label{wxdatetimesubtractts}
-
-\constfunc{wxDateTime}{Subtract}{\param{const wxTimeSpan\& }{diff}}
-
-\func{wxDateTime\&}{Subtract}{\param{const wxTimeSpan\& }{diff}}
-
-\func{wxDateTime\&}{operator$-=$}{\param{const wxTimeSpan\& }{diff}}
-
-Subtracts the given time span from this object.
-
-\pythonnote{This method is named {\tt SubtractTS} in wxPython.}
\membersection{wxDateTime::Add}\label{wxdatetimeaddds}
\pythonnote{This method is named {\tt AddDS} in wxPython.}
+
+\membersection{wxDateTime::Subtract}\label{wxdatetimesubtractts}
+
+\constfunc{wxDateTime}{Subtract}{\param{const wxTimeSpan\& }{diff}}
+
+\func{wxDateTime\&}{Subtract}{\param{const wxTimeSpan\& }{diff}}
+
+\func{wxDateTime\&}{operator$-=$}{\param{const wxTimeSpan\& }{diff}}
+
+Subtracts the given time span from this object.
+
+\pythonnote{This method is named {\tt SubtractTS} in wxPython.}
+
+
\membersection{wxDateTime::Subtract}\label{wxdatetimesubtractds}
\constfunc{wxDateTime}{Subtract}{\param{const wxDateSpan\& }{diff}}
\pythonnote{This method is named {\tt SubtractDS} in wxPython.}
+
\membersection{wxDateTime::Subtract}\label{wxdatetimesubtractdt}
\constfunc{wxTimeSpan}{Subtract}{\param{const wxDateTime\& }{dt}}
This function parses the string {\it date} according to the given
{\it format}. The system {\tt strptime(3)} function is used whenever available,
-but even if it is not, this function is still implemented (although support
-for locale-dependent format specificators such as {\tt "\%c"}, {\tt "\%x"} or
-{\tt "\%X"} may be not perfect). This function does handle the month and
-weekday names in the current locale on all platforms, however.
+but even if it is not, this function is still implemented, although support
+for locale-dependent format specifiers such as {\tt "\%c"}, {\tt "\%x"} or {\tt "\%X"} may
+not be perfect and GNU extensions such as {\tt "\%z"} and {\tt "\%Z"} are
+not implemented. This function does handle the month and weekday
+names in the current locale on all platforms, however.
-Please the description of ANSI C function {\tt strftime(3)} for the syntax of
-the format string.
+Please see the description of the ANSI C function {\tt strftime(3)} for the syntax
+of the format string.
The {\it dateDef} parameter is used to fill in the fields which could not be
-determined from the format string. For example, if the format is {\tt "\%d"}
-(the day of the month), the month and the year are taken from {\it dateDef}.
-If it is not specified, \helpref{Today}{wxdatetimetoday} is used as the
+determined from the format string. For example, if the format is {\tt "\%d"} (the
+ay of the month), the month and the year are taken from {\it dateDef}. If
+it is not specified, \helpref{Today}{wxdatetimetoday} is used as the
default date.
Returns {\tt NULL} if the conversion failed, otherwise return the pointer to
can not be parsed in any way at all.
Returns {\tt NULL} if the conversion failed, otherwise return the pointer to
-the character which stopped the scan.
+the character which stopped the scan. This method is currently not
+implemented, so always returns NULL.
\membersection{wxDateTime::ParseDate}\label{wxdatetimeparsedate}
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.
-It also accepts a few wxWindows-specific extensions: you can optionally specify
+It also accepts a few wxWidgets-specific extensions: you can optionally specify
the width of the field to follow using {\tt printf(3)}-like syntax and the
format specification {\tt \%l} can be used to get the number of milliseconds.
\membersection{wxDateTime::SetToWeekDayInSameWeek}\label{wxdatetimesettoweekdayinsameweek}
-\func{wxDateTime\&}{SetToWeekDayInSameWeek}{\param{WeekDay }{weekday}}
+\func{wxDateTime\&}{SetToWeekDayInSameWeek}{\param{WeekDay }{weekday}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
Adjusts the date so that it will still lie in the same week as before, but its
week day will be the given one.
\membersection{wxDateTime::GetWeekDayInSameWeek}\label{wxdatetimegetweekdayinsameweek}
-\constfunc{wxDateTime}{GetWeekDayInSameWeek}{\param{WeekDay }{weekday}}
+\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.
For example, {\tt SetToWeekDay(2, wxDateTime::Wed)} will set the date to the
second Wednesday in the current month and
-{\tt SetToWeekDay(-1, wxDateTime::Sun)} - to the last Sunday in it.
+{\tt SetToWeekDay(-1, wxDateTime::Sun)} -- to the last Sunday in it.
-Returns {\tt TRUE} if the date was modified successfully, {\tt FALSE}
+Returns {\tt true} if the date was modified successfully, {\tt false}
otherwise meaning that the specified date doesn't exist.
\membersection{wxDateTime::GetWeekDay}\label{wxdatetimegetweekday2}
{\tt SetToWeekDay(-1, weekday, month, year)}. The date will be set to the last
{\it weekday} in the given month and year (the current ones by default).
-Always returns {\tt TRUE}.
+Always returns {\tt true}.
\membersection{wxDateTime::GetLastWeekDay}\label{wxdatetimegetlastweekday}
\membersection{wxDateTime::SetToTheWeek}\label{wxdatetimesettotheweek}
-\func{bool}{SetToTheWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}}
+\func{bool}{SetToTheWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
Set the date to the given {\it weekday} in the week with given number
-{\it numWeek}. The number should be in range $1\ldots53$ and {\tt FALSE} will
-be returned if the specified date doesn't exist. {\tt TRUE} is returned if the
+{\it numWeek}. The number should be in range $1\ldots53$ and {\tt false} will
+be returned if the specified date doesn't exist. {\tt true} is returned if the
date was changed successfully.
\membersection{wxDateTime::GetWeek}\label{wxdatetimegetweek}
-\constfunc{wxDateTime}{GetWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}}
+\constfunc{wxDateTime}{GetWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
Returns the copy of this object to which
\helpref{SetToTheWeek}{wxdatetimesettotheweek} was applied.
\membersection{wxDateTime::ToTimezone}\label{wxdatetimetotimezone}
-\constfunc{wxDateTime}{ToTimezone}{\param{const TimeZone\& }{tz}, \param{bool }{noDST = FALSE}}
+\constfunc{wxDateTime}{ToTimezone}{\param{const TimeZone\& }{tz}, \param{bool }{noDST = false}}
-Transform the date to the given time zone. If {\it noDST} is {\tt TRUE}, no
+Transform the date to the given time zone. If {\it noDST} is {\tt true}, no
DST adjustments will be made.
Returns the date in the new time zone.
\membersection{wxDateTime::MakeTimezone}\label{wxdatetimemaketimezone}
-\func{wxDateTime\&}{MakeTimezone}{\param{const TimeZone\& }{tz}, \param{bool }{noDST = FALSE}}
+\func{wxDateTime\&}{MakeTimezone}{\param{const TimeZone\& }{tz}, \param{bool }{noDST = false}}
Modifies the object in place to represent the date in another time zone. If
-{\it noDST} is {\tt TRUE}, no DST adjustments will be made.
+{\it noDST} is {\tt true}, no DST adjustments will be made.
\membersection{wxDateTime::ToGMT}\label{wxdatetimetogmt}
-\constfunc{wxDateTime}{ToGMT}{\param{bool }{noDST = FALSE}}
+\constfunc{wxDateTime}{ToGMT}{\param{bool }{noDST = false}}
This is the same as calling \helpref{ToTimezone}{wxdatetimetotimezone} with
the argument {\tt GMT0}.
\membersection{wxDateTime::MakeGMT}\label{wxdatetimemakegmt}
-\func{wxDateTime\&}{MakeGMT}{\param{bool }{noDST = FALSE}}
+\func{wxDateTime\&}{MakeGMT}{\param{bool }{noDST = false}}
This is the same as calling \helpref{MakeTimezone}{wxdatetimemaketimezone} with
the argument {\tt GMT0}.
\constfunc{int}{IsDST}{\param{Country }{country = Country\_Default}}
-Returns {\tt TRUE} if the DST is applied for this date in the given country.
+Returns {\tt true} if the DST is applied for this date in the given country.
\wxheading{See also}