through timezone_identifiers_list() / DateTimezone::listIdentifiers().
- Added timezone_location_get() / DateTimezone::getLocation() for retrieving
location information from timezones.
. support for diffing date/times through date_diff() / DateTime::diff().
. added DateInterval class to represent the difference between two date/times.
. support for parsing ISO intervals for use with DateInterval.
. date_add() / DateTime::add(), date_sub() / DateTime::sub() for applying an
interval to an existing date/time.
* date_parse_from_format(): Parse date/time strings according to a format.
* date_create_from_format()/DateTime::createFromFormat(): Create a date/time
object by parsing a date/time string according to a given format.
* date_get_last_errors()/DateTime::getLastErrors(): Return a list of warnings
and errors that were found while parsing a date/time string through:
- strtotime() / new DateTime
- date_create_from_format() / DateTime::createFromFormat()
- date_parse_from_format()
. no is_ref for objects in PHP5+
. initialize objects when created with the `new` operator
. check for proper initialization in child classes
- fix typo: transistion -> transition
- add test
including warnings and errors.
- Added the timezone_name_from_abbr() function that exposes the guessing
mechanism that tries to find a timezone identifier from a timezone
abbreviation and GMT offset.
- Fixed a bug where combined date formats 'c' and 'r' were cut off due to
insufficient space in the buffer.
- Implemented better error and warning handling that is also used for the
date_parse() function.
- Fixed the date::RFC3339 class constant.
- Fixed bug #37017 (strtotime fails before 13:00:00 with some time zones
identifiers)
- Fixed problems with "T" in front of a time string was seen as a time zone
string.
- Fixed a problem were 5 and 6 character timezone abbreviations where not
correctly parsed.
- Fixed problems with lone years in strtotime().
- Added functions to timelib to get a list of all abbreviations and timezone
identifiers.
- Fixed problems with parsed dates that only have GMT offsets associated
with them.
- Fixed a Windows compile problem.
- Added special constants for different often used date formats (DATE_ISO8601,
DATE_RFC822, DATE_RSS etc).
- Fixed date_default_timezone_get() to return the guessed timezone if none
was set yet with date_default_timezone_set().
- Added experimental support for Date/Timezone objects as per specifications.
- Re-implemented mktime and gmmktime with new date time library.
- Added testcase for bug #30096, updated test cases for E_STRICT warning of
is_dst parameter usage for mktime/gmmktime.
"date_timezone_set" override the TZ environment variable, which on its turn
overrides the date.timezone setting. If none of the three is set, we fallback
to UTC.
- Added "date_timezone_set" function to set the timezone that the date
functions will use.
- Removed old date/gmdate implementations.
- Moved date() related testcases to ext/date/tests.
- Implemented bug #33452.
- Fixed testcase for bug #27719 - there is no timezone called "EST5DST".