BDE 4.14.0 Production release
|
#include <bdlt_prolepticdateimputil.h>
Static Public Member Functions | |
static bool | isLeapYear (int year) |
static int | lastDayOfMonth (int year, int month) |
static int | numLeapYears (int year1, int year2) |
static bool | isValidSerial (int serialDay) |
static bool | isValidYearDay (int year, int dayOfYear) |
static bool | isValidYearMonthDay (int year, int month, int day) |
static bool | isValidYearMonthDayNoCache (int year, int month, int day) |
static int | ydToSerial (int year, int dayOfYear) |
static int | ymdToSerial (int year, int month, int day) |
static int | ymdToSerialNoCache (int year, int month, int day) |
static int | serialToDayOfYear (int serialDay) |
static void | serialToYd (int *year, int *dayOfYear, int serialDay) |
static int | ymdToDayOfYear (int year, int month, int day) |
static int | serialToDay (int serialDay) |
static int | serialToDayNoCache (int serialDay) |
static int | serialToMonth (int serialDay) |
static int | serialToMonthNoCache (int serialDay) |
static int | serialToYear (int serialDay) |
static int | serialToYearNoCache (int serialDay) |
static void | serialToYmd (int *year, int *month, int *day, int serialDay) |
static void | serialToYmdNoCache (int *year, int *month, int *day, int serialDay) |
static int | ydToDay (int year, int dayOfYear) |
static void | ydToMd (int *month, int *day, int year, int dayOfYear) |
static int | ydToMonth (int year, int dayOfYear) |
static int | serialToDayOfWeek (int serialDay) |
static int | ydToDayOfWeek (int year, int dayOfYear) |
static int | ymdToDayOfWeek (int year, int month, int day) |
This struct
provides a namespace for a suite of pure functions that perform low-level operations on date values in a variety of formats: year/month/day, year/day-of-year, and serial date. Dates in the range [0001/01/01 .. 9999/12/31]
that are valid per the proleptic Gregorian calendar are supported, with serial date 1 (3652059) corresponding to 0001/01/01
(9999/12/31
). Note that all of the functions, whether or not implemented in terms of a static cache, are stateless, and, as such, are inherently thread-safe.
|
inlinestatic |
Return true
if the specified year
is a leap year, and false
otherwise. The behavior is undefined unless 1 <= year <= 9999
.
|
inlinestatic |
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 .. 3652059]
.
|
static |
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/366]
.
|
inlinestatic |
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]
.
|
static |
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]
. Also note that this function is guaranteed not to use any date-cache optimizations.
|
static |
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]
.
|
static |
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
.
|
static |
Return the day (of the month) of the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
.
|
inlinestatic |
Return the day (of the month) of the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
. Note that this function is guaranteed not to use any date-cache optimizations.
|
inlinestatic |
Return, as an integer (with 1 = SUN
, 2 = MON
, ..., 7 = SAT
), the day (of the week) of the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
.
|
inlinestatic |
Return the day of the year of the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
.
|
static |
Return the month of the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
.
|
inlinestatic |
Return the month of the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
. Note that this function is guaranteed not to use any date-cache optimizations.
|
static |
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 isValidSerial(serialDay)
returns true
.
|
static |
Return the year of the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
.
|
inlinestatic |
Return the year of the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
. Note that this function is guaranteed not to use any date-cache optimizations.
|
static |
Load, into the specified year
, month
, and day
, the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
.
|
inlinestatic |
Load, into the specified year
, month
, and day
, the date value indicated by the specified serialDay
. The behavior is undefined unless isValidSerial(serialDay)
returns true
. Note that this function is guaranteed not to use any date-cache-optimizations.
|
inlinestatic |
Return the day (of the month) of the date value indicated by the specified year
and dayOfYear
. The behavior is undefined unless isValidYearDay(year, dayOfYear)
returns true
.
|
inlinestatic |
Return, as an integer (with 1 = SUN
, 2 = MON
, ..., 7 = SAT
), the day (of the week) of the date value indicated by the specified year
and dayOfYear
. The behavior is undefined unless isValidYearDay(year, dayOfYear)
returns true
.
|
static |
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 isValidYearDay(year, dayOfYear)
returns true
.
|
inlinestatic |
Return the month of the date value indicated by the specified year
and dayOfYear
. The behavior is undefined unless isValidYearDay(year, dayOfYear)
returns true
.
|
static |
Return the serial date representation of the date value indicated by the specified year
and dayOfYear
. The behavior is undefined unless isValidYearDay(year, dayOfYear)
returns true
.
|
inlinestatic |
Return, as an integer (with 1 = SUN
, 2 = MON
, ..., 7 = SAT
), the day (of the week) of the date value indicated by the specified year
, month
, and day
. The behavior is undefined unless isValidYearMonthDay(year, month, day)
returns true
.
|
static |
Return the day of the year of the date value indicated by the specified year
, month
, and day
. The behavior is undefined unless isValidYearMonthDay(year, month, day)
returns true
.
|
static |
Return the serial date representation of the date value indicated by the specified year
, month
, and day
. The behavior is undefined unless isValidYearMonthDay(year, month, day)
returns true
.
|
static |
Return the serial date representation of the date value indicated by the specified year
, month
, and day
. The behavior is undefined unless isValidYearMonthDay(year, month, day)
returns true
. Note that this function is guaranteed not to use any date-cache optimizations.