1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2%% Name: datespan.tex 3%% Purpose: wxDateSpan documentation 4%% Author: Vadim Zeitlin 5%% Modified by: 6%% Created: 04.04.00 7%% RCS-ID: $Id: timespan.tex 38510 2006-04-02 00:58:44Z VZ $ 8%% Copyright: (c) Vadim Zeitlin 9%% License: wxWindows license 10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 12\section{\class{wxTimeSpan}}\label{wxtimespan} 13 14wxTimeSpan class represents a time interval. 15 16\wxheading{Derived from} 17 18No base class 19 20\wxheading{Include files} 21 22<wx/datetime.h> 23 24\wxheading{See also} 25 26\helpref{Date classes overview}{wxdatetimeoverview},\rtfsp 27\helpref{wxDateTime}{wxdatetime} 28 29\latexignore{\rtfignore{\wxheading{Function groups}}} 30 31 32\membersection{Static functions}\label{timespanstaticfunctions} 33 34\helpref{Milliseconds}{wxtimespanmilliseconds}\\ 35\helpref{Millisecond}{wxtimespanmillisecond}\\ 36\helpref{Seconds}{wxtimespanseconds}\\ 37\helpref{Second}{wxtimespansecond}\\ 38\helpref{Minutes}{wxtimespanminutes}\\ 39\helpref{Minute}{wxtimespanminute}\\ 40\helpref{Hours}{wxtimespanhours}\\ 41\helpref{Hour}{wxtimespanhour}\\ 42\helpref{Days}{wxtimespandays}\\ 43\helpref{Day}{wxtimespanday}\\ 44\helpref{Weeks}{wxtimespanweeks}\\ 45\helpref{Week}{wxtimespanweek} 46 47 48\membersection{Constructors}\label{timespanconstructors} 49 50\helpref{wxTimeSpan}{wxtimespanctor} 51 52 53\membersection{Accessors}\label{timespanaccessors} 54 55\helpref{GetSeconds}{wxtimespangetseconds}\\ 56\helpref{GetMinutes}{wxtimespangetminutes}\\ 57\helpref{GetHours}{wxtimespangethours}\\ 58\helpref{GetDays}{wxtimespangetdays}\\ 59\helpref{GetWeeks}{wxtimespangetweeks}\\ 60\helpref{GetValue}{wxtimespangetvalue} 61 62 63\membersection{Operations}\label{timespanoperations} 64 65\helpref{Add}{wxtimespanadd}\\ 66\helpref{Subtract}{wxtimespansubtract}\\ 67\helpref{Multiply}{wxtimespanmultiply}\\ 68\helpref{Negate}{wxtimespannegate}\\ 69\helpref{Neg}{wxtimespanneg}\\ 70\helpref{Abs}{wxtimespanabs} 71 72 73\membersection{Tests}\label{timespantests} 74 75\helpref{IsNull}{wxtimespanisnull}\\ 76\helpref{IsPositive}{wxtimespanispositive}\\ 77\helpref{IsNegative}{wxtimespanisnegative}\\ 78\helpref{IsEqualTo}{wxtimespanisequalto}\\ 79\helpref{IsLongerThan}{wxtimespanislongerthan}\\ 80\helpref{IsShorterThan}{wxtimespanisshorterthan} 81 82 83\membersection{Formatting time spans}\label{timespanformatting} 84 85\helpref{Format}{wxtimespanformat} 86 87%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 88% Start of member function part % 89%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 90 91\helponly{\insertatlevel{2}{ 92 \wxheading{Members} 93}} 94 95 96\membersection{wxTimeSpan::Abs}\label{wxtimespanabs} 97 98\constfunc{wxTimeSpan}{Abs}{\void} 99 100Returns the absolute value of the timespan: does not modify the 101object. 102 103 104\membersection{wxTimeSpan::Add}\label{wxtimespanadd} 105 106\constfunc{wxTimeSpan}{Add}{\param{const wxTimeSpan\& }{diff}} 107 108\func{wxTimeSpan\&}{Add}{\param{const wxTimeSpan\& }{diff}} 109 110\func{wxTimeSpan\&}{operator$+=$}{\param{const wxTimeSpan\&}{diff}} 111 112Returns the sum of two timespans. 113 114 115\membersection{wxTimeSpan::Days}\label{wxtimespandays} 116 117\func{static wxTimespan}{Days}{\param{long }{days}} 118 119Returns the timespan for the given number of days. 120 121 122\membersection{wxTimeSpan::Day}\label{wxtimespanday} 123 124\func{static wxTimespan}{Day}{\void} 125 126Returns the timespan for one day. 127 128 129\membersection{wxTimeSpan::Format}\label{wxtimespanformat} 130 131\func{wxString}{Format}{\param{const wxChar * }{format = wxDefaultTimeSpanFormat}} 132 133Returns the string containing the formatted representation of the time span. 134The following format specifiers are allowed after \%: 135 136\twocolwidtha{5cm}% 137\begin{twocollist}\itemsep=0pt 138\twocolitem{H}{number of {\bf H}ours} 139\twocolitem{M}{number of {\bf M}inutes} 140\twocolitem{S}{number of {\bf S}econds} 141\twocolitem{l}{number of mi{\bf l}liseconds} 142\twocolitem{D}{number of {\bf D}ays} 143\twocolitem{E}{number of w{\bf E}eks} 144\twocolitem{\%}{the percent character} 145\end{twocollist} 146 147Note that, for example, the number of hours in the description above is not 148well defined: it can be either the total number of hours (for example, for a 149time span of $50$ hours this would be $50$) or just the hour part of the time 150span, which would be $2$ in this case as $50$ hours is equal to $2$ days and 151$2$ hours. 152 153wxTimeSpan resolves this ambiguity in the following way: if there had been, 154indeed, the {\tt \%D} format specified preceding the {\tt \%H}, then it is 155interpreted as $2$. Otherwise, it is $50$. 156 157The same applies to all other format specifiers: if they follow a specifier of 158larger unit, only the rest part is taken, otherwise the full value is used. 159 160 161\membersection{wxTimeSpan::GetDays}\label{wxtimespangetdays} 162 163\constfunc{int}{GetDays}{\void} 164 165Returns the difference in number of days. 166 167 168\membersection{wxTimeSpan::GetHours}\label{wxtimespangethours} 169 170\constfunc{int}{GetHours}{\void} 171 172Returns the difference in number of hours. 173 174 175\membersection{wxTimeSpan::GetMilliseconds}\label{wxtimespangetmilliseconds} 176 177\constfunc{wxLongLong}{GetMilliseconds}{\void} 178 179Returns the difference in number of milliseconds. 180 181 182\membersection{wxTimeSpan::GetMinutes}\label{wxtimespangetminutes} 183 184\constfunc{int}{GetMinutes}{\void} 185 186Returns the difference in number of minutes. 187 188 189\membersection{wxTimeSpan::GetSeconds}\label{wxtimespangetseconds} 190 191\constfunc{wxLongLong}{GetSeconds}{\void} 192 193Returns the difference in number of seconds. 194 195 196\membersection{wxTimeSpan::GetValue}\label{wxtimespangetvalue} 197 198\constfunc{wxLongLong}{GetValue}{\void} 199 200Returns the internal representation of timespan. 201 202 203\membersection{wxTimeSpan::GetWeeks}\label{wxtimespangetweeks} 204 205\constfunc{int}{GetWeeks}{\void} 206 207Returns the difference in number of weeks. 208 209 210\membersection{wxTimeSpan::Hours}\label{wxtimespanhours} 211 212\func{static wxTimespan}{Hours}{\param{long }{hours}} 213 214Returns the timespan for the given number of hours. 215 216 217\membersection{wxTimeSpan::Hour}\label{wxtimespanhour} 218 219\func{static wxTimespan}{Hour}{\void} 220 221Returns the timespan for one hour. 222 223 224\membersection{wxTimeSpan::IsEqualTo}\label{wxtimespanisequalto} 225 226\constfunc{bool}{IsEqualTo}{\param{const wxTimeSpan\& }{ts}} 227 228Returns {\tt true} if two timespans are equal. 229 230 231\membersection{wxTimeSpan::IsLongerThan}\label{wxtimespanislongerthan} 232 233\constfunc{bool}{IsLongerThan}{\param{const wxTimeSpan\& }{ts}} 234 235Compares two timespans: works with the absolute values, i.e. -2 236hours is longer than 1 hour. Also, it will return {\tt false} if 237the timespans are equal in absolute value. 238 239 240\membersection{wxTimeSpan::IsNegative}\label{wxtimespanisnegative} 241 242\constfunc{bool}{IsNegative}{\void} 243 244Returns {\tt true} if the timespan is negative. 245 246 247\membersection{wxTimeSpan::IsNull}\label{wxtimespanisnull} 248 249\constfunc{bool}{IsNull}{\void} 250 251Returns {\tt true} if the timespan is empty. 252 253 254\membersection{wxTimeSpan::IsPositive}\label{wxtimespanispositive} 255 256\constfunc{bool}{IsPositive}{\void} 257 258Returns {\tt true} if the timespan is positive. 259 260 261\membersection{wxTimeSpan::IsShorterThan}\label{wxtimespanisshorterthan} 262 263\constfunc{bool}{IsShorterThan}{\param{const wxTimeSpan\& }{ts}} 264 265Compares two timespans: works with the absolute values, i.e. 1 266hour is shorter than -2 hours. Also, it will return {\tt false} if 267the timespans are equal in absolute value. 268 269 270\membersection{wxTimeSpan::Minutes}\label{wxtimespanminutes} 271 272\func{static wxTimespan}{Minutes}{\param{long }{min}} 273 274Returns the timespan for the given number of minutes. 275 276 277\membersection{wxTimeSpan::Minute}\label{wxtimespanminute} 278 279\func{static wxTimespan}{Minute}{\void} 280 281Returns the timespan for one minute. 282 283 284\membersection{wxTimeSpan::Multiply}\label{wxtimespanmultiply} 285 286\constfunc{wxTimeSpan}{Multiply}{\param{int }{n}} 287 288\func{wxTimeSpan\&}{Multiply}{\param{int }{n}} 289 290\func{wxTimeSpan\&}{operator$*=$}{\param{int }{n}} 291 292Multiplies timespan by a scalar. 293 294 295\membersection{wxTimeSpan::Negate}\label{wxtimespannegate} 296 297\constfunc{wxTimeSpan}{Negate}{\void} 298 299Returns timespan with inverted sign. 300 301 302\membersection{wxTimeSpan::Neg}\label{wxtimespanneg} 303 304\func{wxTimeSpan\&}{Neg}{\void} 305 306\func{wxTimeSpan\&}{operator$-$}{\void} 307 308Negate the value of the timespan. 309 310 311\membersection{wxTimeSpan::Milliseconds}\label{wxtimespanmilliseconds} 312 313\func{static wxTimespan}{Milliseconds}{\param{long }{ms}} 314 315Returns the timespan for the given number of milliseconds. 316 317 318\membersection{wxTimeSpan::Millisecond}\label{wxtimespanmillisecond} 319 320\func{static wxTimespan}{Millisecond}{\void} 321 322Returns the timespan for one millisecond. 323 324 325\membersection{wxTimeSpan::Seconds}\label{wxtimespanseconds} 326 327\func{static wxTimespan}{Seconds}{\param{long }{sec}} 328 329Returns the timespan for the given number of seconds. 330 331 332\membersection{wxTimeSpan::Second}\label{wxtimespansecond} 333 334\func{static wxTimespan}{Second}{\void} 335 336Returns the timespan for one second. 337 338 339\membersection{wxTimeSpan::Subtract}\label{wxtimespansubtract} 340 341\constfunc{wxTimeSpan}{Subtract}{\param{const wxTimeSpan\&}{diff}} 342 343\func{wxTimeSpan\&}{Subtract}{\param{const wxTimeSpan\& }{diff}} 344 345\func{wxTimeSpan\&}{operator$-=$}{\param{const wxTimeSpan\&}{diff}} 346 347Returns the difference of two timespans. 348 349 350\membersection{wxTimeSpan::Weeks}\label{wxtimespanweeks} 351 352\func{static wxTimespan}{Weeks}{\param{long }{weeks}} 353 354Returns the timespan for the given number of weeks. 355 356 357\membersection{wxTimeSpan::Week}\label{wxtimespanweek} 358 359\func{static wxTimespan}{Week}{\void} 360 361Returns the timespan for one week. 362 363 364\membersection{wxTimeSpan::wxTimeSpan}\label{wxtimespanctor} 365 366\func{}{wxTimeSpan}{\void} 367 368Default constructor, constructs a zero timespan. 369 370\func{}{wxTimeSpan}{\param{long }{hours}, \param{long }{min}, \param{long }{sec}, \param{long }{msec}} 371 372Constructs timespan from separate values for each component, with the date 373set to 0. Hours are not restricted to 0..24 range, neither are 374minutes, seconds or milliseconds. 375 376