8#ifndef INCLUDED_BDLT_DATEUTIL
9#define INCLUDED_BDLT_DATEUTIL
191#include <bdlscm_version.h>
200#include <bsl_optional.h>
230 static Date addYearsEomEndOfFebruary(
const Date& original,
int numYears);
440 if (2 == original.
month() && 28 <= original.
day()) {
441 return addYearsEomEndOfFebruary(original, numYears);
452 const int newYear = original.
year() + numYears;
454 if (2 == original.
month() && 29 == original.
day()) {
482 return Date(yyyymmddValue / 10000,
483 (yyyymmddValue / 100) % 100,
484 yyyymmddValue % 100);
490 return date.
year() * 10000 + date.
month() * 100 + date.
day();
515 const int day = yyyymmddValue % 100;
516 yyyymmddValue /= 100;
517 const int month = yyyymmddValue % 100;
Definition bdlt_date.h:294
static bool isValid(int year, int dayOfYear)
Definition bdlt_date.h:1044
int day() const
Return the day of the month in the range [1 .. 31] of this date.
Definition bdlt_date.h:955
int year() const
Return the year in the range [1 .. 9999] of this date.
Definition bdlt_date.h:1005
int month() const
Return the month of the year in the range [1 .. 12] of this date.
Definition bdlt_date.h:993
Definition bslstl_optional.h:2043
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1917
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
#define BSLS_REVIEW(X)
Definition bsls_review.h:1019
Definition bbldc_basicisma30360.h:112
const in_place_t in_place
Definition bdlt_dateutil.h:213
static Date addYears(const Date &original, int numYears, bool eomFlag)
Definition bdlt_dateutil.h:427
static bsl::optional< Date > fromYmd(int year, int month, int day)
Definition bdlt_dateutil.h:505
static int convertToYYYYMMDD(const Date &date)
Definition bdlt_dateutil.h:488
static Date nthDayOfWeekInMonth(int year, int month, DayOfWeek::Enum dayOfWeek, int n)
static Date addMonthsEom(const Date &original, int numMonths)
static Date convertFromYYYYMMDDRaw(int yyyymmddValue)
Definition bdlt_dateutil.h:478
static int convertFromYYYYMMDD(Date *result, int yyyymmddValue)
Definition bdlt_dateutil.h:465
static Date lastDayInMonth(int year, int month)
Definition bdlt_dateutil.h:525
static Date addYearsEom(const Date &original, int numYears)
Definition bdlt_dateutil.h:435
static Date addMonths(const Date &original, int numMonths, bool eomFlag)
Definition bdlt_dateutil.h:419
static Date lastDayOfWeekInMonth(int year, int month, DayOfWeek::Enum dayOfWeek)
static Date previousDayOfWeek(DayOfWeek::Enum dayOfWeek, const Date &date)
static Date addYearsNoEom(const Date &original, int numYears)
Definition bdlt_dateutil.h:447
static Date previousDayOfWeekInclusive(DayOfWeek::Enum dayOfWeek, const Date &date)
static Date nextDayOfWeek(DayOfWeek::Enum dayOfWeek, const Date &date)
static bool isValidYYYYMMDD(int yyyymmddValue)
Definition bdlt_dateutil.h:513
static Date addMonthsNoEom(const Date &original, int numMonths)
static Date earliestDayOfWeekInMonth(int year, int month, DayOfWeek::Enum dayOfWeek)
Definition bdlt_dateutil.h:494
static Date nextDayOfWeekInclusive(DayOfWeek::Enum dayOfWeek, const Date &date)
Enum
Enumerated day-of-week values.
Definition bdlt_dayofweek.h:125
static bool isValidYearMonthDay(int year, int month, int day)
Definition bdlt_posixdateimputil.h:782
static bool isLeapYear(int year)
Definition bdlt_posixdateimputil.h:766
static int lastDayOfMonth(int year, int month)