%% Created: 07.03.00
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
-%% License: wxWindows license
+%% License: wxWidgets license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxDateTime}}\label{wxdatetime}
\latexignore{\rtfignore{\wxheading{Function groups}}}
+
\membersection{Static functions}
For convenience, all static functions are collected here. These functions
\helpref{UNow}{wxdatetimeunow}\\
\helpref{Today}{wxdatetimetoday}
+
\membersection{Constructors, assignment operators and setters}
Constructors and various {\tt Set()} methods are collected here. If you
\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{IsGregorianDate}{wxdatetimeisgregoriandate}\\
\helpref{GetAsDOS}{wxdatetimegetasdos}
+
\membersection{Date comparison}
There are several function to allow date comparison. To supplement them, a few
\helpref{IsSameTime}{wxdatetimeissametime}\\
\helpref{IsEqualUpTo}{wxdatetimeisequalupto}
+
\membersection{Date arithmetics}
These functions carry out \helpref{arithmetics}{tdatearithm} on the wxDateTime
\helpref{oparator$-=$(wxTimeSpan)}{wxdatetimesubtractts}\\
\helpref{oparator$-=$(wxDateSpan)}{wxdatetimesubtractds}
+
\membersection{Parsing and formatting dates}
These functions convert wxDateTime obejcts to and from text. The
\helpref{FormatISODate}{wxdatetimeformatisodate}\\
\helpref{FormatISOTime}{wxdatetimeformatisotime}
+
\membersection{Calendar calculations}\label{wxdatetimecalculations}
The functions in this section perform the basic calendar calculations, mostly
\helpref{GetWeekDay}{wxdatetimegetweekday2}\\
\helpref{SetToLastWeekDay}{wxdatetimesettolastweekday}\\
\helpref{GetLastWeekDay}{wxdatetimegetlastweekday}\\
-\helpref{SetToTheWeek}{wxdatetimesettotheweek}\\
-\helpref{GetWeek}{wxdatetimegetweek}\\
+\helpref{SetToWeekOfYear}{wxdatetimesettoweekofyear}\\
\helpref{SetToLastMonthDay}{wxdatetimesettolastmonthday}\\
\helpref{GetLastMonthDay}{wxdatetimegetlastmonthday}\\
\helpref{SetToYearDay}{wxdatetimesettoyearday}\\
\helpref{GetYearDay}{wxdatetimegetyearday}
+
\membersection{Astronomical/historical functions}
Some degree of support for the date units used in astronomy and/or history is
\helpref{GetMJD}{wxdatetimegetmjd}\\
\helpref{GetRataDie}{wxdatetimegetratadie}
+
\membersection{Time zone and DST support}
Please see the \helpref{time zone overview}{tdatetimezones} for more
%%%%%%%%%%%%%%%%%%%%%%%%%%% static functions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\membersection{wxDateTime::ConvertYearToBC}\label{wxdatetimeconvertyeartobc}
\func{static int}{ConvertYearToBC}{\param{int }{year}}
printf("The year is %d%s", wxDateTime::ConvertYearToBC(y), y > 0 ? "AD" : "BC");
\end{verbatim}
+
\membersection{wxDateTime::GetAmPmStrings}\label{wxdatetimegetampmstrings}
\func{static void}{GetAmPmStrings}{\param{wxString *}{am}, \param{wxString *}{pm}}
formatting for the current locale. Either of the pointers may be {\tt NULL} if
the corresponding value is not needed.
+
\membersection{wxDateTime::GetBeginDST}\label{wxdatetimegetbegindst}
\func{static wxDateTime}{GetBeginDST}{\param{int }{year = Inv\_Year}, \param{Country }{country = Country\_Default}}
\helpref{GetEndDST}{wxdatetimegetenddst}
+
\membersection{wxDateTime::GetCountry}\label{wxdatetimegetcountry}
\func{static Country}{GetCountry}{\void}
\helpref{SetCountry}{wxdatetimesetcountry}
+
\membersection{wxDateTime::GetCurrentYear}\label{wxdatetimegetcurrentyear}
\func{static int}{GetCurrentYear}{\param{Calendar }{cal = Gregorian}}
Get the current year in given calendar (only Gregorian is currently supported).
+
\membersection{wxDateTime::GetCurrentMonth}\label{wxdatetimegetcurrentmonth}
\func{static Month}{GetCurrentMonth}{\param{Calendar }{cal = Gregorian}}
Get the current month in given calendar (only Gregorian is currently supported).
+
\membersection{wxDateTime::GetCentury}\label{wxdatetimegetcentury}
\func{static int}{GetCentury}{\param{int }{year = Inv\_Year}}
Get the current century, i.e. first two digits of the year, in given calendar
(only Gregorian is currently supported).
+
\membersection{wxDateTime::GetEndDST}\label{wxdatetimegetenddst}
\func{static wxDateTime}{GetEndDST}{\param{int }{year = Inv\_Year}, \param{Country }{country = Country\_Default}}
\helpref{GetBeginDST}{wxdatetimegetbegindst}
+
\membersection{wxDateTime::GetMonthName}\label{wxdatetimegetmonthname}
\func{static wxString}{GetMonthName}{\param{Month }{month}, \param{NameFlags }{flags = Name\_Full}}
\helpref{GetWeekDayName}{wxdatetimegetweekdayname}
+
\membersection{wxDateTime::GetNumberOfDays}\label{wxdatetimegetnumberofdays}
\func{static wxDateTime\_t}{GetNumberOfDays}{\param{int }{year}, \param{Calendar }{cal = Gregorian}}
\pythonnote{These two methods are named {\tt GetNumberOfDaysInYear}
and {\tt GetNumberOfDaysInMonth} in wxPython.}
+
\membersection{wxDateTime::GetWeekDayName}\label{wxdatetimegetweekdayname}
\func{static wxString}{GetWeekDayName}{\param{WeekDay }{weekday}, \param{NameFlags }{flags = Name\_Full}}
\helpref{GetMonthName}{wxdatetimegetmonthname}
+
\membersection{wxDateTime::IsLeapYear}\label{wxdatetimeisleapyear}
\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.
+
\membersection{wxDateTime::IsWestEuropeanCountry}\label{wxdatetimeiswesteuropeancountry}
\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.
+
\membersection{wxDateTime::IsDSTApplicable}\label{wxdatetimeisdstapplicable}
\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}
\func{static wxDateTime}{Now}{\void}
\helpref{Today}{wxdatetimetoday}
+
\membersection{wxDateTime::SetCountry}\label{wxdatetimesetcountry}
\func{static void}{SetCountry}{\param{Country }{country}}
\helpref{GetCountry}{wxdatetimegetcountry}
+
\membersection{wxDateTime::Today}\label{wxdatetimetoday}
\func{static wxDateTime}{Today}{\void}
\helpref{Now}{wxdatetimenow}
+
\membersection{wxDateTime::UNow}\label{wxdatetimeunow}
\func{static wxDateTime}{UNow}{\void}
%%%%%%%%%%%%%%%%%%%%%%%%%%% constructors &c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\membersection{wxDateTime::wxDateTime}\label{wxdatetimewxdatetimedef}
\func{}{wxDateTime}{\void}
Default constructor. Use one of {\tt Set()} functions to initialize the object
later.
+
\membersection{wxDateTime::wxDateTime}\label{wxdatetimewxdatetimetimet}
\func{wxDateTime\&}{wxDateTime}{\param{time\_t }{timet}}
\pythonnote{This constructor is named {\tt wxDateTimeFromTimeT} in wxPython.}
+
\membersection{wxDateTime::wxDateTime}\label{wxdatetimewxdatetimetm}
\func{wxDateTime\&}{wxDateTime}{\param{const struct tm\& }{tm}}
\pythonnote{Unsupported.}
+
\membersection{wxDateTime::wxDateTime}\label{wxdatetimewxdatetimejdn}
\func{wxDateTime\&}{wxDateTime}{\param{double }{jdn}}
\pythonnote{This constructor is named {\tt wxDateTimeFromJDN} in wxPython.}
+
\membersection{wxDateTime::wxDateTime}\label{wxdatetimewxdatetimetime}
\func{wxDateTime\&}{wxDateTime}{\param{wxDateTime\_t }{hour}, \param{wxDateTime\_t }{minute = 0}, \param{wxDateTime\_t }{second = 0}, \param{wxDateTime\_t }{millisec = 0}}
\pythonnote{This constructor is named {\tt wxDateTimeFromHMS} in wxPython.}
+
\membersection{wxDateTime::wxDateTime}\label{wxdatetimewxdatetimedate}
\func{wxDateTime\&}{wxDateTime}{\param{wxDateTime\_t }{day}, \param{Month }{month = Inv\_Month}, \param{int}{ Inv\_Year},
\pythonnote{This constructor is named {\tt wxDateTimeFromDMY} in wxPython.}
+
\membersection{wxDateTime::SetToCurrent}\label{wxdatetimesettocurrent}
\func{wxDateTime\&}{SetToCurrent}{\void}
Sets the date and time of to the current values. Same as assigning the result
of \helpref{Now()}{wxdatetimenow} to this object.
+
\membersection{wxDateTime::Set}\label{wxdatetimesettimet}
\func{wxDateTime\&}{Set}{\param{time\_t }{timet}}
\pythonnote{This method is named {\tt SetTimeT} in wxPython.}
+
\membersection{wxDateTime::Set}\label{wxdatetimesettm}
\func{wxDateTime\&}{Set}{\param{const struct tm\& }{tm}}
\pythonnote{Unsupported.}
+
\membersection{wxDateTime::Set}\label{wxdatetimesetjdn}
\func{wxDateTime\&}{Set}{\param{double }{jdn}}
\pythonnote{This method is named {\tt SetJDN} in wxPython.}
+
\membersection{wxDateTime::Set}\label{wxdatetimesettime}
\func{wxDateTime\&}{Set}{\param{wxDateTime\_t }{hour}, \param{wxDateTime\_t }{minute = 0}, \param{wxDateTime\_t }{second = 0}, \param{wxDateTime\_t }{millisec = 0}}
\pythonnote{This method is named {\tt SetHMS} in wxPython.}
+
\membersection{wxDateTime::Set}\label{wxdatetimesetdate}
\func{wxDateTime\&}{Set}{\param{wxDateTime\_t }{day}, \param{Month }{month = Inv\_Month}, \param{int }{year = Inv\_Year}, \param{wxDateTime\_t }{hour = 0}, \param{wxDateTime\_t }{minute = 0}, \param{wxDateTime\_t }{second = 0}, \param{wxDateTime\_t }{millisec = 0}}
Sets the date and time from the parameters.
+
\membersection{wxDateTime::ResetTime}\label{wxdatetimeresettime}
\func{wxDateTime\&}{ResetTime}{\void}
Reset time to midnight (00:00:00) without changing the date.
+
\membersection{wxDateTime::SetYear}\label{wxdatetimesetyear}
\func{wxDateTime\&}{SetYear}{\param{int }{year}}
Sets the year without changing other date components.
+
\membersection{wxDateTime::SetMonth}\label{wxdatetimesetmonth}
\func{wxDateTime\&}{SetMonth}{\param{Month }{month}}
Sets the month without changing other date components.
+
\membersection{wxDateTime::SetDay}\label{wxdatetimesetday}
\func{wxDateTime\&}{SetDay}{\param{wxDateTime\_t }{day}}
Sets the day without changing other date components.
+
\membersection{wxDateTime::SetHour}\label{wxdatetimesethour}
\func{wxDateTime\&}{SetHour}{\param{wxDateTime\_t }{hour}}
Sets the hour without changing other date components.
+
\membersection{wxDateTime::SetMinute}\label{wxdatetimesetminute}
\func{wxDateTime\&}{SetMinute}{\param{wxDateTime\_t }{minute}}
Sets the minute without changing other date components.
+
\membersection{wxDateTime::SetSecond}\label{wxdatetimesetsecond}
\func{wxDateTime\&}{SetSecond}{\param{wxDateTime\_t }{second}}
Sets the second without changing other date components.
+
\membersection{wxDateTime::SetMillisecond}\label{wxdatetimesetmillisecond}
\func{wxDateTime\&}{SetMillisecond}{\param{wxDateTime\_t }{millisecond}}
Sets the millisecond without changing other date components.
+
\membersection{wxDateTime::operator$=$}\label{wxdatetimeoperatoreqtimet}
\func{wxDateTime\&}{operator}{\param{time\_t }{timet}}
Same as \helpref{Set}{wxdatetimesettimet}.
+
\membersection{wxDateTime::operator$=$}\label{wxdatetimeoperatoreqtm}
\func{wxDateTime\&}{operator}{\param{const struct tm\& }{tm}}
%%%%%%%%%%%%%%%%%%%%%%%%%%% accessors %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\membersection{wxDateTime::IsValid}\label{wxdatetimeisvalid}
\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}
Returns broken down representation of the date and time.
+
\membersection{wxDateTime::GetTicks}\label{wxdatetimegetticks}
\constfunc{time\_t}{GetTicks}{\void}
Returns the number of seconds since Jan 1, 1970. An assert failure will occur
if the date is not in the range covered by {\tt time\_t} type.
+
\membersection{wxDateTime::GetYear}\label{wxdatetimegetyear}
\constfunc{int}{GetYear}{\param{const TimeZone\& }{tz = Local}}
Returns the year in the given timezone (local one by default).
+
\membersection{wxDateTime::GetMonth}\label{wxdatetimegetmonth}
\constfunc{Month}{GetMonth}{\param{const TimeZone\& }{tz = Local}}
Returns the month in the given timezone (local one by default).
+
\membersection{wxDateTime::GetDay}\label{wxdatetimegetday}
\constfunc{wxDateTime\_t}{GetDay}{\param{const TimeZone\& }{tz = Local}}
Returns the day in the given timezone (local one by default).
+
\membersection{wxDateTime::GetWeekDay}\label{wxdatetimegetweekday}
\constfunc{WeekDay}{GetWeekDay}{\param{const TimeZone\& }{tz = Local}}
Returns the week day in the given timezone (local one by default).
+
\membersection{wxDateTime::GetHour}\label{wxdatetimegethour}
\constfunc{wxDateTime\_t}{GetHour}{\param{const TimeZone\& }{tz = Local}}
Returns the hour in the given timezone (local one by default).
+
\membersection{wxDateTime::GetMinute}\label{wxdatetimegetminute}
\constfunc{wxDateTime\_t}{GetMinute}{\param{const TimeZone\& }{tz = Local}}
Returns the minute in the given timezone (local one by default).
+
\membersection{wxDateTime::GetSecond}\label{wxdatetimegetsecond}
\constfunc{wxDateTime\_t}{GetSecond}{\param{const TimeZone\& }{tz = Local}}
Returns the seconds in the given timezone (local one by default).
+
\membersection{wxDateTime::GetMillisecond}\label{wxdatetimegetmillisecond}
\constfunc{wxDateTime\_t}{GetMillisecond}{\param{const TimeZone\& }{tz = Local}}
Returns the milliseconds in the given timezone (local one by default).
+
\membersection{wxDateTime::GetDayOfYear}\label{wxdatetimegetdayofyear}
\constfunc{wxDateTime\_t}{GetDayOfYear}{\param{const TimeZone\& }{tz = Local}}
Returns the day of the year (in $1\ldots366$ range) in the given timezone
(local one by default).
+
\membersection{wxDateTime::GetWeekOfYear}\label{wxdatetimegetweekofyear}
\constfunc{wxDateTime\_t}{GetWeekOfYear}{\param{WeekFlags }{flags = Monday\_First}, \param{const TimeZone\& }{tz = Local}}
Returns the number of the week of the year this date is in. The first week of
-the year is, according to international standards, the one containing Jan 4.
-The week number is in $1\ldots53$ range ($52$ for non leap years).
+the year is, according to international standards, the one containing Jan 4 or,
+equivalently, the first week which has Thursday in this year. Both of these
+definitions are the same as saying that the first week of the year must contain
+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.
+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.
+
\membersection{wxDateTime::GetWeekOfMonth}\label{wxdatetimegetweekofmonth}
both conventions for the week start. See the description of these
\helpref{week start}{wxdatetime} conventions.
+
\membersection{wxDateTime::IsWorkDay}\label{wxdatetimeisworkday}
\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 is 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}}
\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}
%%%%%%%%%%%%%%%%%%%%%%%%%%% 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}
\helpref{IsBetween}{wxdatetimeisbetween}
+
\membersection{wxDateTime::IsBetween}\label{wxdatetimeisbetween}
\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}
\helpref{IsStrictlyBetween}{wxdatetimeisstrictlybetween}
+
\membersection{wxDateTime::IsSameDate}\label{wxdatetimeissamedate}
\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.
%%%%%%%%%%%%%%%%%%%%%%%%%%% arithmetics %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\membersection{wxDateTime::Add}\label{wxdatetimeaddts}
\constfunc{wxDateTime}{Add}{\param{const wxTimeSpan\& }{diff}}
\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}}
%%%%%%%%%%%%%%%%%%%%%%%%%%% parsing/formatting %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\membersection{wxDateTime::ParseRfc822Date}\label{wxdatetimeparserfc822date}
\func{const wxChar *}{ParseRfc822Date}{\param{const wxChar* }{date}}
free ways, you should use \helpref{ParseDateTime}{wxdatetimeparsedatetime} or
\helpref{ParseDate}{wxdatetimeparsedate} instead.
+
\membersection{wxDateTime::ParseFormat}\label{wxdatetimeparseformat}
\func{const wxChar *}{ParseFormat}{\param{const wxChar *}{date}, \param{const wxChar *}{format = "\%c"}, \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,
-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
the character which stopped the scan.
+
\membersection{wxDateTime::ParseDateTime}\label{wxdatetimeparsedatetime}
\func{const wxChar *}{ParseDateTime}{\param{const wxChar *}{datetime}}
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}
Returns {\tt NULL} if the conversion failed, otherwise return the pointer to
the character which stopped the scan.
+
\membersection{wxDateTime::ParseTime}\label{wxdatetimeparsetime}
\func{const wxChar *}{ParseTime}{\param{const wxChar *}{time}}
Returns {\tt NULL} if the conversion failed, otherwise return the pointer to
the character which stopped the scan.
+
\membersection{wxDateTime::Format}\label{wxdatetimeformat}
\constfunc{wxString }{Format}{\param{const wxChar *}{format = "\%c"}, \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.
-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.
\helpref{ParseFormat}{wxdatetimeparseformat}
+
\membersection{wxDateTime::FormatDate}\label{wxdatetimeformatdate}
\constfunc{wxString }{FormatDate}{\void}
Identical to calling \helpref{Format()}{wxdatetimeformat} with {\tt "\%x"}
argument (which means `preferred date representation for the current locale').
+
\membersection{wxDateTime::FormatTime}\label{wxdatetimeformattime}
\constfunc{wxString }{FormatTime}{\void}
Identical to calling \helpref{Format()}{wxdatetimeformat} with {\tt "\%X"}
argument (which means `preferred time representation for the current locale').
+
\membersection{wxDateTime::FormatISODate}\label{wxdatetimeformatisodate}
\constfunc{wxString }{FormatISODate}{\void}
This function returns the date representation in the ISO 8601 format
(YYYY-MM-DD).
+
\membersection{wxDateTime::FormatISOTime}\label{wxdatetimeformatisotime}
\constfunc{wxString }{FormatISOTime}{\void}
%%%%%%%%%%%%%%%%%%%%%%%%%%% calendar calculations %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\membersection{wxDateTime::SetToWeekDayInSameWeek}\label{wxdatetimesettoweekdayinsameweek}
\func{wxDateTime\&}{SetToWeekDayInSameWeek}{\param{WeekDay }{weekday}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
Returns the reference to the modified object itself.
+
\membersection{wxDateTime::GetWeekDayInSameWeek}\label{wxdatetimegetweekdayinsameweek}
\constfunc{wxDateTime}{GetWeekDayInSameWeek}{\param{WeekDay }{weekday}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
\helpref{SetToWeekDayInSameWeek}{wxdatetimesettoweekdayinsameweek} was
applied.
+
\membersection{wxDateTime::SetToNextWeekDay}\label{wxdatetimesettonextweekday}
\func{wxDateTime\&}{SetToNextWeekDay}{\param{WeekDay }{weekday}}
Returns the reference to the modified object itself.
+
\membersection{wxDateTime::GetNextWeekDay}\label{wxdatetimegetnextweekday}
\constfunc{wxDateTime}{GetNextWeekDay}{\param{WeekDay }{weekday}}
Returns the copy of this object to which
\helpref{SetToNextWeekDay}{wxdatetimesettonextweekday} was applied.
+
\membersection{wxDateTime::SetToPrevWeekDay}\label{wxdatetimesettoprevweekday}
\func{wxDateTime\&}{SetToPrevWeekDay}{\param{WeekDay }{weekday}}
Returns the reference to the modified object itself.
+
\membersection{wxDateTime::GetPrevWeekDay}\label{wxdatetimegetprevweekday}
\constfunc{wxDateTime}{GetPrevWeekDay}{\param{WeekDay }{weekday}}
Returns the copy of this object to which
\helpref{SetToPrevWeekDay}{wxdatetimesettoprevweekday} was applied.
+
\membersection{wxDateTime::SetToWeekDay}\label{wxdatetimesettoweekday}
\func{bool}{SetToWeekDay}{\param{WeekDay }{weekday}, \param{int }{n = 1}, \param{Month }{month = Inv\_Month}, \param{int }{year = Inv\_Year}}
second Wednesday in the current month and
{\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}
\constfunc{wxDateTime}{GetWeekDay}{\param{WeekDay }{weekday}, \param{int }{n = 1}, \param{Month }{month = Inv\_Month}, \param{int }{year = Inv\_Year}}
Returns the copy of this object to which
\helpref{SetToWeekDay}{wxdatetimesettoweekday} was applied.
+
\membersection{wxDateTime::SetToLastWeekDay}\label{wxdatetimesettolastweekday}
\func{bool}{SetToLastWeekDay}{\param{WeekDay }{weekday}, \param{Month }{month = Inv\_Month}, \param{int }{year = Inv\_Year}}
{\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}
Returns the copy of this object to which
\helpref{SetToLastWeekDay}{wxdatetimesettolastweekday} was applied.
-\membersection{wxDateTime::SetToTheWeek}\label{wxdatetimesettotheweek}
-\func{bool}{SetToTheWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
+\membersection{wxDateTime::SetToWeekOfYear}\label{wxdatetimesettoweekofyear}
-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
-date was changed successfully.
+\func{static wxDateTime}{SetToWeekOfYear}{\param{int }{year}, \param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}}
-\membersection{wxDateTime::GetWeek}\label{wxdatetimegetweek}
+Set the date to the given \arg{weekday} in the week number \arg{numWeek} of the
+given \arg{year} . The number should be in range $1\ldots53$.
-\constfunc{wxDateTime}{GetWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
+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
+\helpref{GetWeekOfYear}{wxdatetimegetweekofyear} for the explanation of how the
+year weeks are counted.
-Returns the copy of this object to which
-\helpref{SetToTheWeek}{wxdatetimesettotheweek} was applied.
\membersection{wxDateTime::SetToLastMonthDay}\label{wxdatetimesettolastmonthday}
Returns the reference to the modified object itself.
+
\membersection{wxDateTime::GetLastMonthDay}\label{wxdatetimegetlastmonthday}
\constfunc{wxDateTime}{GetLastMonthDay}{\param{Month }{month = Inv\_Month}, \param{int }{year = Inv\_Year}}
Returns the copy of this object to which
\helpref{SetToLastMonthDay}{wxdatetimesettolastmonthday} was applied.
+
\membersection{wxDateTime::SetToYearDay}\label{wxdatetimesettoyearday}
\func{wxDateTime\&}{SetToYearDay}{\param{wxDateTime\_t }{yday}}
Returns the reference to the modified object itself.
+
\membersection{wxDateTime::GetYearDay}\label{wxdatetimegetyearday}
\constfunc{wxDateTime}{GetYearDay}{\param{wxDateTime\_t }{yday}}
%%%%%%%%%%%%%%%%%%%%%%%%%%% astronomical functions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\membersection{wxDateTime::GetJulianDayNumber}\label{wxdatetimegetjuliandaynumber}
\constfunc{double}{GetJulianDayNumber}{\void}
\helpref{GetModifiedJulianDayNumber}{wxdatetimegetmodifiedjuliandaynumber}
+
\membersection{wxDateTime::GetJDN}\label{wxdatetimegetjdn}
\constfunc{double}{GetJDN}{\void}
Synonym for \helpref{GetJulianDayNumber}{wxdatetimegetjuliandaynumber}.
+
\membersection{wxDateTime::GetModifiedJulianDayNumber}\label{wxdatetimegetmodifiedjuliandaynumber}
\constfunc{double}{GetModifiedJulianDayNumber}{\void}
MJDs correspond to midnights of the dates in the Gregorian calendar and not th
noons like JDN. The MJD $0$ is Nov 17, 1858.
+
\membersection{wxDateTime::GetMJD}\label{wxdatetimegetmjd}
\constfunc{double}{GetMJD}{\void}
Synonym for \helpref{GetModifiedJulianDayNumber}{wxdatetimegetmodifiedjuliandaynumber}.
+
\membersection{wxDateTime::GetRataDie}\label{wxdatetimegetratadie}
\constfunc{double}{GetRataDie}{\void}
%%%%%%%%%%%%%%%%%%%%%%%%%%% timezone and DST %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\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}.
+
\membersection{wxDateTime::IsDST}\label{wxdatetimeisdst}
\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}