BloombergLP::bdlt::DateUtil

This struct provides a namespace for utility functions that provide non-primitive operations on dates.

Synopsis

Declared in <bdlt_dateutil.h>

struct DateUtil;

Static Member Functions

NameDescription
addMonths Return the date that is the specified numMonths from the specified original date, adjusted as necessary according to the specified eomFlag (end-of-month flag). If eomFlag is true and original is the last day of the month, then adjust the result to be the last day of the month; if eomFlag is false, then no such adjustment is performed. In any case, if the day of the month in original does not exist in the month of the result (e.g., February 29, 2001), move the resulting date to the last day of the month. The behavior is undefined unless the operation results in a valid Date value. Note that numMonths may be negative.
addMonthsEom Return the date that is the specified numMonths from the specified original date, adjusted as necessary according to the following (end-of-month) rules: (1) if original is the last day of a month, adjust the result to be the last day of the month, and (2) if the day of the month in original does not exist in the month of the result (e.g., February 30), move the resulting date to the last day of the month. The behavior is undefined unless the operation results in a valid Date value. Note that numMonths may be negative.
addMonthsNoEom Return the date that is the specified numMonths from the specified original date, adjusted as necessary according to the following (non-end-of-month) rule: if the day of the month in original does not exist in the month of the result (e.g., February 29, 2001), move the resulting date to the last day of the month. The behavior is undefined unless the operation results in a valid Date value. Note that numMonths may be negative.
addYears Return the date that is the specified numYears from the specified original date, adjusted as necessary according to the specified eomFlag (end-of-month flag). If eomFlag is true and original is the last day of the month, then adjust the result to be the last day of the month; if eomFlag is false, then no such adjustment is performed. In any case, if the day of the month in original does not exist in the month of the result (e.g., February 29, 2001), move the resulting date to the last day of the month. The behavior is undefined unless the operation results in a valid Date value. Note that numYears may be negative.
addYearsEom Return the date that is the specified numYears from the specified original date, adjusted as necessary according to the following (end-of-month) rules: (1) if original is the last day of a month, adjust the result to be the last day of the month, and (2) if the day of the month in original does not exist in the month of the result (e.g., February 29, 2001), move the resulting date to the last day of the month. The behavior is undefined unless the operation results in a valid Date value. Note that numYears may be negative.
addYearsNoEom Return the date that is the specified numYears from the specified original date, adjusted as necessary according to the following (non-end-of-month) rule: if the day of the month in original does not exist in the month of the result (e.g., February 30), move the resulting date to the last day of the month. The behavior is undefined unless the operation results in a valid Date value. Note that numYears may be negative.
convertFromYYYYMMDD Load, into the specified result, the Date value represented by the specified yyyymmddValue in the "YYYYMMDD" format. Return 0 on success, and a non-zero value, with no effect on result, if yyyymmddValue does not represent a valid Date.
convertFromYYYYMMDDRaw Return the Date value represented by the specified yyyymmddValue in the "YYYYMMDD" format. The behavior is undefined unless yyyymmddValue represents a valid Date.
convertToYYYYMMDD Return the integer value in the "YYYYMMDD" format that represents the specified date.
earliestDayOfWeekInMonth Return the earliest date in the specified month of the specified year that falls on the specified dayOfWeek. The behavior is undefined unless 1 <= year <= 9999 and 1 <= month <= 12.
fromYmd Return an optional having a Date with the specified year, month, and day, if those form a valid Date (see Date::isValid); otherwise return an optional without a value.
isValidYYYYMMDD Return true if the specified yyyymmddValue represents a valid Date value in the "YYYYMMDD" format, and false otherwise.
lastDayInMonth Return the latest date in the specified month of the specified year. The behavior is undefined unless 1 <= year <= 9999 and 1 <= month <= 12.
lastDayOfWeekInMonth Return the latest date in the specified month of the specified year that falls on the specified dayOfWeek. The behavior is undefined unless 1 <= year <= 9999 and 1 <= month <= 12.
nextDayOfWeek Return the first date after the specified date that falls on the specified dayOfWeek. The behavior is undefined unless the resulting date is no later than 9999/12/31.
nextDayOfWeekInclusive Return the first date on or after the specified date that falls on the specified dayOfWeek. The behavior is undefined unless the resulting date is no later than 9999/12/31.
nthDayOfWeekInMonth Return the date in the specified month of the specified year corresponding to the specified nth occurrence of the specified dayOfWeek. If n < 0, return the date corresponding to the -nth occurrence of the dayOfWeek counting from the end of the month towards the first of the month. If 5 == n and a result cannot be found in month, then return the date of the first dayOfWeek in the following month. If -5 == n and a result cannot be found in month, then return the date of the last dayOfWeek in the previous month. The behavior is undefined unless 1 <= year <= 9999, 1 <= month <= 12, n != 0, -5 <= n <= 5, and the resulting date is neither earlier than 0001/01/01 nor later than 9999/12/31.
previousDayOfWeek Return the last date before the specified date that falls on the specified dayOfWeek. The behavior is undefined unless the resulting date is no earlier than 1/1/1.
previousDayOfWeekInclusive Return the last date on or before the specified date that falls on the specified dayOfWeek. The behavior is undefined unless the resulting date is no earlier than 1/1/1.