BloombergLP::bdlt::PosixDateImpUtil

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

NameDescription
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.