This struct provides a namespace for a suite of pure functions that perform low‐level operations on date values in a variety of formats. Note that all of these functions, whether or not implemented in terms of a static cache, are stateless, and, as such, are inherently thread‐safe.

Synopsis

Declared in <bdlt_posixdateimputil.h>

struct PosixDateImpUtil;

Static Member Functions

Name

Description

isLeapYear

Return true if the specified year is a leap year, and false otherwise. The behavior is undefined unless 1 <= year <= 9999.

isValidSerial

Return true if the specified serialDay represents a valid date value, and false otherwise. Note that valid date values are (as fully defined in the component‐level documentation) in the range [ 1 .. 3652061 ].

isValidYearDay

Return true if the specified year and dayOfYear represents a valid date value, and false otherwise. Note that valid date values are (as fully defined in the component‐level documentation) in the range [ 0001/01 .. 9999/365 ] (except that [ 1752/356 .. 1752/366 ] are not valid for historical reasons).

isValidYearMonthDay

Return true if the specified year, month, and day represents a valid date value, and false otherwise. Note that valid date values are (as fully defined in the component‐level documentation) in the range [ 0001/01/01 .. 9999/12/31 ] (except that [ 1752/09/03 .. 1752/09/13 ] are not valid for historical reasons).

isValidYearMonthDayNoCache

Return true if the specified year, month, and day represents a valid date value, and false otherwise. Note that valid date values are (as fully defined in the component‐level documentation) in the range [ 0001/01/01 .. 9999/12/31 ] (except that [ 1752/09/03 .. 1752/09/13 ] are not valid for historical reasons). Also note that this function is guaranteed not to use any date‐cache optimizations.

lastDayOfMonth

Return the last day of the specified month in the specified year. The behavior is undefined unless 1 <= year <= 9999 and 1 <= month <= 12. Note that the value returned will be in the range [ 28 .. 31 ].

numLeapYears

Return the number of leap years occurring between the specified year1 and year2 (inclusive). The behavior is undefined unless 1 <= year1 <= 9999, 1 <= year2 <= 9999, and year1 <= year2.

serialToDay

Return the day (of the month) of the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay).

serialToDayNoCache

Return the day (of the month) of the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay). Note that this function is guaranteed not to use any date‐cache optimizations.

serialToDayOfWeek

Return, as an integer (with 1 = SUN, 2 = MON, ..., and 7 = SAT), the day (of the week) of the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay).

serialToDayOfYear

Return the day of the year of the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay).

serialToMonth

Return the month of the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay).

serialToMonthNoCache

Return the month of the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay). Note that this function is guaranteed not to use any date‐cache optimizations.

serialToYd

Load, into the specified year and dayOfYear, the year‐day representation of the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay).

serialToYear

Return the year of the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay).

serialToYearNoCache

Return the year of the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay). Note that this function is guaranteed not to use any date‐cache optimizations.

serialToYmd

Load, into the specified year, month, and day, the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay).

serialToYmdNoCache

Load, into the specified year, month, and day, the date value indicated by the specified serialDay. The behavior is undefined unless true == isValidSerial(serialDay). Note that this function is guaranteed not to use any date‐cache‐optimizations.

ydToDay

Return the day (of the month) of the date value indicated by the specified year and dayOfYear. The behavior is undefined unless true == isValidYearDay(year, dayOfYear).

ydToDayOfWeek

Return, as an integer (with 1 = SUN, 2 = MON, ..., and 7 = SAT), the day (of the week) of the date value indicated by the specified year and dayOfYear. The behavior is undefined unless true == isValidYearDay(year, dayOfYear).

ydToMd

Load, into the specified month and day, the (partial) calendar date representation of the date value indicated by the specified year and dayOfYear. The behavior is undefined unless true == isValidYearDay(year, dayOfYear).

ydToMonth

Return the month of the date value indicated by the specified year and dayOfYear. The behavior is undefined unless true == isValidYearDay(year, dayOfYear).

ydToSerial

Return the serial date representation of the date value indicated by the specified year and dayOfYear. The behavior is undefined unless true == isValidYearDay(year, dayOfYear).

ymdToDayOfWeek

Return, as an integer (with 1 = SUN, 2 = MON, ..., and 7 = SAT), the day (of the week) of the date value indicated by the specified year, month, and day. The behavior is undefined unless true == isValidYearMonthDay(year, month, day).

ymdToDayOfYear

Return the day of the year of the date value indicated by the specified year, month, and day. The behavior is undefined unless true == isValidYearMonthDay(year, month, day).

ymdToSerial

Return the serial date representation of the date value indicated by the specified year, month, and day. The behavior is undefined unless true == isValidYearMonthDay(year, month, day).

ymdToSerialNoCache

Return the serial date representation of the date value indicated by the specified year, month, and day. The behavior is undefined unless true == isValidYearMonthDay(year, month, day). Note that this function is guaranteed not to use any date‐cache optimizations.

Created with MrDocs