Date Class Reference
[Date and time calculations]
#include <ql/date.hpp>
Detailed Description
Concrete date class.This class provides methods to inspect dates as well as methods and operators which implement a limited date algebra (increasing and decreasing dates, and calculating their difference).
- Tests:
- self-consistency of dates, serial numbers, days of month, months, and weekdays is checked over the whole date range.
- Examples:
-
BermudanSwaption.cpp, ConvertibleBonds.cpp, DiscreteHedging.cpp, EquityOption.cpp, FRA.cpp, Replication.cpp, Repo.cpp, and swapvaluation.cpp.
Public Member Functions | |
inspectors | |
| Weekday | weekday () const |
| Day | dayOfMonth () const |
| Day | dayOfYear () const |
| One-based (Jan 1st = 1). | |
| Month | month () const |
| Year | year () const |
| BigInteger | serialNumber () const |
date algebra | |
| Date & | operator+= (BigInteger days) |
| increments date by the given number of days | |
| Date & | operator+= (const Period &) |
| increments date by the given period | |
| Date & | operator-= (BigInteger days) |
| decrement date by the given number of days | |
| Date & | operator-= (const Period &) |
| decrements date by the given period | |
| Date & | operator++ () |
| 1-day pre-increment | |
| Date | operator++ (int) |
| 1-day post-increment | |
| Date & | operator-- () |
| 1-day pre-decrement | |
| Date | operator-- (int) |
| 1-day post-decrement | |
| Date | operator+ (BigInteger days) const |
| returns a new date incremented by the given number of days | |
| Date | operator+ (const Period &) const |
| returns a new date incremented by the given period | |
| Date | operator- (BigInteger days) const |
| returns a new date decremented by the given number of days | |
| Date | operator- (const Period &) const |
| returns a new date decremented by the given period | |
Static Public Member Functions | |
static methods | |
| static Date | todaysDate () |
| today's date. | |
| static Date | minDate () |
| earliest allowed date | |
| static Date | maxDate () |
| latest allowed date | |
| static bool | isLeap (Year y) |
| whether the given year is a leap one | |
| static Date | endOfMonth (const Date &d) |
| last day of the month to which the given date belongs | |
| static bool | isEOM (const Date &d) |
| whether a date is the last day of its month | |
| static Date | nextWeekday (const Date &d, Weekday) |
| next given weekday following or equal to the given date | |
| static Date | nthWeekday (Size n, Weekday, Month m, Year y) |
| n-th given weekday in the given month and year | |
| static bool | isIMMdate (const Date &d, bool mainCycle=true) |
| whether or not the given date is an IMM date | |
| static Date | nextIMMdate (const Date &d, bool mainCycle=true) |
| next IMM date following (or equal to) the given date | |
| static std::string | IMMcode (const Date &date) |
| static Date | IMMdate (const std::string &IMMcode, const Date &referenceDate=Date()) |
Related Functions | |
| (Note that these are not member functions.) | |
| BigInteger | operator- (const Date &, const Date &) |
| Difference in days between dates. | |
| bool | operator== (const Date &, const Date &) |
| bool | operator!= (const Date &, const Date &) |
| bool | operator< (const Date &, const Date &) |
| bool | operator<= (const Date &, const Date &) |
| bool | operator> (const Date &, const Date &) |
| bool | operator>= (const Date &, const Date &) |
| std::ostream & | operator<< (std::ostream &, const Date &) |
Member Function Documentation
next given weekday following or equal to the given date
E.g., the Friday following Tuesday, January 15th, 2002 was January 18th, 2002.
n-th given weekday in the given month and year
E.g., the 4th Thursday of March, 1998 was March 26th, 1998.
| static std::string IMMcode | ( | const Date & | date | ) | [static] |