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.
Declared in <bdlt_posixdateimputil.h>
struct PosixDateImpUtil;
| 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. |