Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
C++ Boost

Boost Date-Time Change History

 


Overall Index

Changes from Boost 1.30 to 1.31 (date_time 1.01 to 1.02)

TypeDescription
Bug Fix Time_duration from_string is now correctly constructed from a negative value. (ie "-0:39:00.000") Code provided by Bart Garst.
Bug Fix Fixed many MSVC compiler warnings when compiled with warning level 4.
Bug Fix Fixed many GCC compiler warnings when compiled with -Wshadow.
Feature Added prefix decrement operator (--) for date and time iterators. See Time Iterators and Date Iterators for more details. Code provided by Bart Garst.
Feature Special values functionality (eg: infinities, not_a_date_time) added for date_duration, time_duration and time classes. Code provided by Bart Garst.
Bug Fix Fixed time_duration_traits calculation bug which was causing time duration to be limited to 32bit range even when 64 bits were available. Thanks to Joel de Guzman for tracking this down.
Bug Fix Provided additional operators for duration types (eg: date_duration, time_duration). This includes divideable by integer and fixes to allow +=, -= operators. Thanks to Bart Garst for writing this code. Also, the documentation of Calculations has been improved.
Bug Fix Added typedefs to boost::gregorian gregorian_types.hpp various date_generator function classes.
Feature Added from_time_t function to convert time_t to a ptime. See from_time_t from more.
Feature Added a span function for combining periods. See date period and time period docs.
Feature Added a function to time_duration to get the total number of seconds in a duration truncating any fractional seconds. In addition, other resolutions were added to allow for easy conversions. For example
seconds(1).total_milliseconds() == 1000
seconds(1).total_microseconds() == 1000000
hours(1).total_milliseconds() == 3600*1000 //3600 sec/hour
seconds(1).total_nanoseconds() == 1000000000
See time duration for more.
Feature Added output streaming operators for the date generator classes - partial_date, first_kday_after, first_kday_before, etc. Thanks to Bart Garst for this work.
Feature Added unary- operators for durations for reversing the sign of a time duration. For example:
time_duration td(5,0,0); //5 hours
td = -td; //-5 hours
Thanks to Bart Garst for this work.
Feature Added support for parsing strings with 'month names'. Thus creating a date object from string now accepts multiple formats ("2003-10-31","2003-Oct-31", and "2003-October-31"). Thus, date d = from_simple_string("2003-Feb-27") is now allowed. A bad month name string (from_simple_string("2003-SomeBogusMonthName-27")) will cause a bad_month exception. In addition, there are new convenience functions that handle different orderings of the year, month, and day. The from_us_date and from_uk_date (reference) provide parsing for the order month-day-year and day-month-year respectively. On most compilers the month string compare is case insensitive. Thanks to Bart Garst for this work.
Bug Fix Various documentation fixes. Thanks to Bart Garst for updates.

Changes from Boost 1.29 to 1.30 (date_time 1.00 to 1.01)

Notice: The interface to the partial_date class (see date_algorithms) was changed. The order of construction parameters was changed which will cause some code to fail execution. This change was made to facilitate more generic local time adjustment code. Thus instead of specifying partial_date pd(Dec,25) the code needs to be changed to partial_date pd(25, Dec);

TypeDescription
Bug Fix Added new experimental feature for Daylight Savings Time calculations. This allows traits based specification of dst rules.
Feature Added new interfaces to calculate julian day and modified julian day to the gregorian date class. See boost::gregorian::date.
Feature Add new interface to calculate iso 8601 week number for a date. See boost::gregorian::date.
Feature Add an iso 8601 time date-time format (eg: YYYYMMDDTHHHMMSS) parsing function. See Class ptime for more information.
Feature Added a length function to the period template so that both date_periods and time_periods will now support this function.
Bug Fix Split Jamfiles so that libs/date_time/build/Jamfile only builds library and /libs/date_time/libs/test/Jamfile which runs tests.
Bug Fix Fixed many minor documentation issues.
Bug Fix Removed the DATE_TIME_INLINE macro which was causing link errors. This macro is no longer needed in projects using the library.
Bug Fix Added missing typedef for year_iterator to gregorian_types.hpp
Bug Fix Fixed problem with gregorian ostream operators that prevented the use of wide streams.
Bug Fix Tighten error handling for dates so that date(2002, 2, 29) will throw a bad_day_of_month exception. Previously the date would be incorrectly constructed. Reported by sourceforge bug: 628054 among others.


Last modified: Sun Feb 1 09:21:26 MST 2004 by Jeff Garland © 2000-2004