# FoundationClasses
TKernel
Quantity

# Quantity_Date Class Reference

This class provides services to manage date information.
A date represents the following time intervals:
year, month, day, hour, minute, second,
millisecond and microsecond.
Current time is expressed in elapsed seconds
and microseconds beginning from 00:00 GMT,
January 1, 1979 (zero hour). The valid date can
only be later than this one.
Note: a Period object gives the interval between two dates.
.

`#include <Quantity_Date.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
Standard_EXPORT | Quantity_Date ()
| Constructs a default date (00:00 GMT, January 1, 1979 (zero hour)); use the function SetValues to define the required date; or .
Standard_EXPORT | Quantity_Date (const Standard_Integer mm, const Standard_Integer dd, const Standard_Integer yyyy, const Standard_Integer hh, const Standard_Integer mn, const Standard_Integer ss, const Standard_Integer mis=0, const Standard_Integer mics=0)

Constructs a date from the year yyyy, the
month mm, the day dd, the hour hh, the minute
mn, the second ss, the millisecond mis
(defaulted to 0) and the microsecond mics (defaulted to 0)..
With: 1 <= mm <= 12
1 <= dd <= max number of days of <mm>
1979 <= yyyy
0 <= hh <= 23
0 <= mn <= 59
0 <= ss <= 59
0 <= mis <= 999
0 <= mics <= 999
Exceptions
Quantity_DateDefinitionError if mm, dd, hh,
mn, ss, mis and mics are not the components of the valid date.
.

Standard_EXPORT void | Values (Standard_Integer &mm, Standard_Integer &dd, Standard_Integer &yy, Standard_Integer &hh, Standard_Integer &mn, Standard_Integer &ss, Standard_Integer &mis, Standard_Integer &mics) const
| Gets a complete Date. - in mm - the month, - in dd - the day, - in yyyy - the year, - in hh - the hour, - in mn - the minute, - in ss - the second, - in mis - the millisecond, and - in mics - the microsecond .
Standard_EXPORT void | SetValues (const Standard_Integer mm, const Standard_Integer dd, const Standard_Integer yy, const Standard_Integer hh, const Standard_Integer mn, const Standard_Integer ss, const Standard_Integer mis=0, const Standard_Integer mics=0)
| Assigns to this date the year yyyy, the month mm, the day dd, the hour hh, the minute mn, the second ss, the millisecond mis (defaulted to 0) and the microsecond mics (defaulted to 0). Exceptions Quantity_DateDefinitionError if mm, dd, hh, mn, ss, mis and mics are not components of a valid date. .
Standard_EXPORT Quantity_Period | Difference (const Quantity_Date &anOther)
| Subtracts one Date from another one to find the period between and returns the value. The result is the absolute value between the difference of two dates. .
Standard_EXPORT Quantity_Date | Subtract (const Quantity_Period &aPeriod)
| Subtracts a period from a Date and returns the new Date. Raises an exception if the result date is anterior to Jan 1, 1979. .
Quantity_Date | operator- (const Quantity_Period &aPeriod)
Standard_EXPORT Quantity_Date | Add (const Quantity_Period &aPeriod)
| Adds a Period to a Date and returns the new Date. .
Quantity_Date | operator+ (const Quantity_Period &aPeriod)
Standard_EXPORT Standard_Integer | Year ()
| Returns year of a Date. .
Standard_EXPORT Standard_Integer | Month ()
| Returns month of a Date. .
Standard_EXPORT Standard_Integer | Day ()
| Returns Day of a Date. .
Standard_EXPORT Standard_Integer | Hour ()
| Returns Hour of a Date. .
Standard_EXPORT Standard_Integer | Minute ()
| Returns minute of a Date. .
Standard_EXPORT Standard_Integer | Second ()
| Returns seconde of a Date. .
Standard_EXPORT Standard_Integer | MilliSecond ()
| Returns millisecond of a Date. .
Standard_EXPORT Standard_Integer | MicroSecond ()
| Returns microsecond of a Date. .
Standard_EXPORT Standard_Boolean | IsEqual (const Quantity_Date &anOther) const
| Returns TRUE if both <me> and <other> are equal. This method is an alias of operator ==. .
Standard_Boolean | operator== (const Quantity_Date &anOther) const
Standard_EXPORT Standard_Boolean | IsEarlier (const Quantity_Date &anOther) const
| Returns TRUE if <me> is earlier than <other>. .
Standard_Boolean | operator< (const Quantity_Date &anOther) const
Standard_EXPORT Standard_Boolean | IsLater (const Quantity_Date &anOther) const
| Returns TRUE if <me> is later then <other>. .
Standard_Boolean | operator> (const Quantity_Date &anOther) const
Standard_Integer | _CSFDB_GetQuantity_DatemySec () const
void | _CSFDB_SetQuantity_DatemySec (const Standard_Integer p)
Standard_Integer | _CSFDB_GetQuantity_DatemyUSec () const
void | _CSFDB_SetQuantity_DatemyUSec (const Standard_Integer p)

## Static Public Member Functions

static Standard_EXPORT Standard_Boolean | IsValid (const Standard_Integer mm, const Standard_Integer dd, const Standard_Integer yy, const Standard_Integer hh, const Standard_Integer mn, const Standard_Integer ss, const Standard_Integer mis=0, const Standard_Integer mics=0)

Checks the validity of a date - returns true if a
date defined from the year yyyy, the month mm,
the day dd, the hour hh, the minute mn, the
second ss, the millisecond mis (defaulted to 0)
and the microsecond mics (defaulted to 0) is valid.
A date must satisfy the conditions above:
- yyyy is greater than or equal to 1979,
- mm lies within the range [1, 12] (with 1
corresponding to January and 12 to December),
- dd lies within a valid range for the month mm
(from 1 to 28, 29, 30 or 31 depending on
mm and whether yyyy is a leap year or not),
- hh lies within the range [0, 23],
- mn lies within the range [0, 59],
- ss lies within the range [0, 59],
- mis lies within the range [0, 999],
- mics lies within the range [0, 999].C
.

static Standard_Boolean | IsLeap (const Standard_Integer yy)
| Returns true if a year is a leap year. The leap years are divisable by 4 and not by 100 except the years divisable by 400. .

## Private Attributes

Standard_Integer | mySec
Standard_Integer | myUSec

## Friends

Standard_EXPORT friend Handle_Standard_Type & | Quantity_Date_Type_ ()

## Constructor & Destructor Documentation

Standard_EXPORT Quantity_Date::Quantity_Date | ( |  | ) |

Standard_EXPORT Quantity_Date::Quantity_Date | ( | const Standard_Integer | mm,
|  | const Standard_Integer | dd,
|  | const Standard_Integer | yyyy,
|  | const Standard_Integer | hh,
|  | const Standard_Integer | mn,
|  | const Standard_Integer | ss,
|  | const Standard_Integer | mis = `0`,
|  | const Standard_Integer | mics = `0`
| ) |

## Member Function Documentation

Standard_Integer Quantity_Date::_CSFDB_GetQuantity_DatemySec | ( |  | ) | const`[inline]`

Standard_Integer Quantity_Date::_CSFDB_GetQuantity_DatemyUSec | ( |  | ) | const`[inline]`

void Quantity_Date::_CSFDB_SetQuantity_DatemySec | ( | const Standard_Integer | p | ) | `[inline]`

void Quantity_Date::_CSFDB_SetQuantity_DatemyUSec | ( | const Standard_Integer | p | ) | `[inline]`

Standard_EXPORT Quantity_Date Quantity_Date::Add | ( | const Quantity_Period & | aPeriod | ) |

Standard_EXPORT Standard_Integer Quantity_Date::Day | ( |  | ) |

Standard_EXPORT Quantity_Period Quantity_Date::Difference | ( | const Quantity_Date & | anOther | ) |

Standard_EXPORT Standard_Integer Quantity_Date::Hour | ( |  | ) |

Standard_EXPORT Standard_Boolean Quantity_Date::IsEarlier | ( | const Quantity_Date & | anOther | ) | const

Standard_EXPORT Standard_Boolean Quantity_Date::IsEqual | ( | const Quantity_Date & | anOther | ) | const

Standard_EXPORT Standard_Boolean Quantity_Date::IsLater | ( | const Quantity_Date & | anOther | ) | const

Standard_Boolean Quantity_Date::IsLeap | ( | const Standard_Integer | yy | ) | `[inline, static]`

static Standard_EXPORT Standard_Boolean Quantity_Date::IsValid | ( | const Standard_Integer | mm,
|  | const Standard_Integer | dd,
|  | const Standard_Integer | yy,
|  | const Standard_Integer | hh,
|  | const Standard_Integer | mn,
|  | const Standard_Integer | ss,
|  | const Standard_Integer | mis = `0`,
|  | const Standard_Integer | mics = `0`
| ) | `[static]`

Standard_EXPORT Standard_Integer Quantity_Date::MicroSecond | ( |  | ) |

Standard_EXPORT Standard_Integer Quantity_Date::MilliSecond | ( |  | ) |

Standard_EXPORT Standard_Integer Quantity_Date::Minute | ( |  | ) |

Standard_EXPORT Standard_Integer Quantity_Date::Month | ( |  | ) |

void Quantity_Date::operator delete | ( | void * | anAddress | ) | `[inline]`

void* Quantity_Date::operator new | ( | size_t | size | ) | `[inline]`

void* Quantity_Date::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

Quantity_Date Quantity_Date::operator+ | ( | const Quantity_Period & | aPeriod | ) | `[inline]`

Quantity_Date Quantity_Date::operator- | ( | const Quantity_Period & | aPeriod | ) | `[inline]`

Standard_Boolean Quantity_Date::operator< | ( | const Quantity_Date & | anOther | ) | const`[inline]`

Standard_Boolean Quantity_Date::operator== | ( | const Quantity_Date & | anOther | ) | const`[inline]`

Standard_Boolean Quantity_Date::operator> | ( | const Quantity_Date & | anOther | ) | const`[inline]`

Standard_EXPORT Standard_Integer Quantity_Date::Second | ( |  | ) |

Standard_EXPORT void Quantity_Date::SetValues | ( | const Standard_Integer | mm,
|  | const Standard_Integer | dd,
|  | const Standard_Integer | yy,
|  | const Standard_Integer | hh,
|  | const Standard_Integer | mn,
|  | const Standard_Integer | ss,
|  | const Standard_Integer | mis = `0`,
|  | const Standard_Integer | mics = `0`
| ) |

Standard_EXPORT Quantity_Date Quantity_Date::Subtract | ( | const Quantity_Period & | aPeriod | ) |

Standard_EXPORT void Quantity_Date::Values | ( | Standard_Integer & | mm,
|  | Standard_Integer & | dd,
|  | Standard_Integer & | yy,
|  | Standard_Integer & | hh,
|  | Standard_Integer & | mn,
|  | Standard_Integer & | ss,
|  | Standard_Integer & | mis,
|  | Standard_Integer & | mics
| ) | const

Standard_EXPORT Standard_Integer Quantity_Date::Year | ( |  | ) |

## Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& Quantity_Date_Type_ | ( |  | ) | `[friend]`

## Field Documentation

Standard_Integer Quantity_Date::mySec `[private]`

Standard_Integer Quantity_Date::myUSec `[private]`

The documentation for this class was generated from the following files:

- Quantity_Date.hxx
- Quantity_Date.lxx