Age | Commit message (Collapse) | Author | Files | Lines |
|
Changes from 0.27:
0.30 2005-12-22
[ ENHANCEMENTS ]
- Expanded and rewrote the docs on date math to try to explain exactly
how DateTime.pm works, and in particular cover the problems DST
introduces to various types of date math. The docs now also include
some specific recommendations on getting sane results from datetime
math.
- Added calendar_duration() and clock_duration() methods to
DateTime::Duration
- Explicitly override the stringification method for
DateTime::Infinite objects. They now stringify as whatever the IEEE
infinity and negative infinity numbers stringify to on your platform.
On Linux this is "inf" and "-inf". CPAN RT #16632.
[ BUG FIXES ]
- delta_md() and delta_days() did not always return correct values
when crossing a DST change.
- The pure Perl version of the code had a dependency ordering problem
where DateTime::LeapSecond depended on other pure Perl code that
wasn't yet available. I'm not sure how this ever worked.
- Remove mentions of leap second on 1971-12-31 from the docs, because
there was no leap second that day. Reported by Mike Schilli.
- If you added a second to a datetime that was on a leap second (like
2005-12-31T23:59:60) it got "stuck" and kept returning the same
datetime. Reported by Mike Schilli.
- Changes to the tests in 20infinite.t may fix failures seen on some
platforms and with new versions of Test::More (0.62 was known to cause
failures)
[ *** BACKWARDS INCOMPATIBILITIES *** ]
- The subtract_datetime() method switched back to using the local
portion of the date _and_ time, but it now accounts for days with DST
changes specially. This produces results that fix the bugs that were
fixed by previous subtraction changes in 0.28 and 0.29, but without
introducing even more bugs. The overall result should be sane, but
please see the docs for details.
0.2901 2005-07-04
- A leap second for the end of 2005 was announced.
0.29 2005-06-03
[ *** BACKWARDS INCOMPATIBILITIES *** ]
- When adding/subtracting a duration with months or days that crossed
a DST change, the result was based on the local time, not the UTC
time. For consistent results, it is necessary to use the UTC time
(but local date) for all date math. Reported by J. Alexander Docauer.
0.28 2005-02-27
[ ENHANCEMENTS ]
- The era names for the era() method are now retrieved from the
DateTime.pm object's associated locale. The old era() method, which
was hard-coded to use BCE and CE, is renamed secular_era(). The
christian_era() method remains the same.
[ BUG FIXES ]
- Fixed an embarassing bug in the subtract_datetime() method. It was
subtracting local times, not UTC, which caused bugs when doing
subtraction across a DST change. This method is used to implement
subtraction overloading, so that was affected as well. Reported by
Mike Schilli.
- The docs for the %U and %W strftime specifiers implied that these
should be zero-padded, but the code was not doing so. Reported by J
Docauer.
|
|
of Perl files to deal with the perl-5.8.7 update that moved all
pkgsrc-installed Perl files into the "vendor" directories.
|
|
These paths are now relative to PERL5_PACKLIST_DIR, which currently
defaults to ${PERL5_SITEARCH}. There is no change to the binary
packages.
|
|
|
|
0.27 2005-01-31
[ ENHANCEMENTS ]
- Added local_rd_values() method for the benefit of other modules like
DateTime::Event::Recurrence.
0.26 2005-01-27
[ BUG FIXES ]
- The docs claimed that the delta_ms(), delta_md(), delta_days()
methods always returned a positive duration, but this was not true for
delta_md() or delta_days().
|
|
|
|
Collection.
The DateTime.pm module aims to provide a complete, correct, and easy
to use date/time object implementation. Currently it handles many date
calculations, date math (addition and subtraction), and provides
convenient methods for retrieving portions of a date/time.
This module properly supports the Olson time zone database, meaning
that historical time zone information, and more importantly, daylight
saving time rules, can be handled transparently, simply by setting the
correct time zone. This is done by using the DateTime::TimeZone
module.
|