Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Date::Manip::Changes6(User Contributed Perl DocumentatDate::Manip::Changes6(3)

       Date::Manip::Changes6 - changes in Date::Manip 6.xx

       This describes the changes made to the Date::Manip module in the	6.xx
       series of releases.  Major changes are marked with asterisks (*).

       For the most part, Date::Manip has remained backward compatible at
       every release, but occasionally,	a change is made which is backward
       incompatible. These are marked with an exclamation mark (!).

VERSION	6.83 (2020-12-01)
       Time zone fixes
	    No new zoneinfo data so no release on 2020-09-01.

	    Newest zoneinfo data (tzdata 2020d).  Requested by Shawn Carroll
	    (GitHub #32)

VERSION	6.82 (2020-06-01)
       Time zone fixes
	    Newest zoneinfo data (tzdata 2020a).

VERSION	6.81 (2020-03-01)
       Messed up the 6.80 package.  This release fixes it.

VERSION	6.80 (2020-03-01)
       Missed Changes entry for	previous version.
	    Reported by	Tina Muller (GitHub #31)

VERSION	6.79 (2019-12-01)
       Time zone fixes
	    Newest zoneinfo data (tzdata 2019c).

VERSION	6.78 (2019-08-29)
       Time zone fixes
	    Newest zoneinfo data (tzdata 2019b).

       Documentation fixes
	    Fixed a broken link.  Mohammad S Anwar (GitHub #29)

VERSION	6.77 (2019-06-01)
       Time zone fixes
	    Newest zoneinfo data (tzdata 2019a).

VERSION	6.76 (2019-03-01)
       Fixed bug in Date::Manip::Date::list_holidays.
	   It was using	'now' instead of the stored date.  Douglas DeStafeno

       Reordered TZ detection methods
	   Moved checking the tzdata files to lower priority to	avoid a	pretty
	   unusual situation in	docker.	 Sven Nierlein (GitHub #20)

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2018i).	 Requested by Shawn C Carroll
	   (GitHub #28)

VERSION	6.75 (2018-12-03)
       Fixed packaging problems
	   Version 6.74	was not	packaged correctly.  Version wasn't set
	   correctly in	a few files and	there were invalid entries in
	   Makefile.PL.	 RT 127870.

VERSION	6.74 (2018-12-01)
       Removed travis file from	the tarball
	   The tarball had a .travis.yml file in it that wasn't	in the
	   MANIFEST file.  Since the MANIFEST file is automatically generated
	   by the perl mkmanifest tool,	since it didn't	see the	.travis.yml
	   file, I have	excluded it from the tarball.  Reported	by Mohammad S
	   Anwar on GitHub (#23)

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2018e)

VERSION	6.73 (2018-09-01)
       Fixed math on non-64-bit	architectures
	   Much	of the math in Date::Manip::Base is in a 'use integer'
	   section.  This math can overflow in some cases in non-64-bit
	   architectures.  Fixed the cases where this would reasonably occur.
	   Reported by Daniel Albers (GitHub #22).  Also reported and tested
	   in RT 126052.

       Bug in normalizing estimated business deltas
	   While working on the	non-64-bit issue, it uncovered a bug where
	   normalizing estimated business deltas was wrong.  It	had never been
	   reported, and it was	only off by a couple seconds in	some rare

VERSION	6.72 (2018-06-06)
       Fixed recurrence	bug
	   The fix in the previous version for a rare recurrence problem broke
	   another recurrence form.  It	is now corrected.  Michael Schout
	   (GitHub #20)

       Fixed version problem
	   The wrong version was included in two files for some	reason.	 This
	   is fixed.

       Documentation fixes
	   Fixed a grammatical error reported by Xavier	Guimard	(GitHub	#19).

VERSION	6.71 (2018-06-01)
       Fixed an	extremely rare problem with recurrences
	   It is possible to specify a recurrence that never produces a	valid
	   date.  In these cases, looking for dates went into an infinite
	   loop.  The MaxRecurAttempts config variable was added which will
	   stop	that from happening.  If no occurrence was found, an error
	   condition will be set.  Dean	Hamstead (RT 123708)

       Changes file supported
	   It was requested that I include a valid Changes file.  I wrote a
	   simple script to convert the	Change6.pod file into a	valid Change
	   file.  The Changes6.pod file	is still the canonical source of this
	   information!	 Requested by H. Merijn	Brand

       Fix for timezone	determination
	   On MacOS X High Sierra, some	of the timezone	files were symlinks,
	   but not properly followed.  This was	fixed by Stu Tomlinson (GitHub

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2018e)

       Documentation fixes
	   Minor fix provided by Mohammad S Anwar (GitHub #17)

VERSION	6.70 (2018-03-01)
       (*) (!) Changes to deltas
	   Improved handling of	deltas to better support the different types
	   of deltas.  Formalized how the semi-exact portions of the delta are
	   used	to produce the results that most people	would expect.

	   The type can	now be specified to guarantee several behaviors.
	   Changed the arguments (in a backward	compatible way)	to several
	   methods.  Explicitly	added a	new type (estimated) which was there
	   previously, but could not be	manually specified.

	   The convert function	continues to support converting	from a less
	   exact type to a more	exact type, but	this is	deprecated and will be
	   removed in version 7.00.

	   This	was prompted by	a bug reported by Ian Gibbs.

       (*) (!) Deprecated some parts of	Date::Manip::Delta
	   The options passed to the set and parse methods have	changed.  The
	   old style will be removed in	version	7.00.

	   Deltas will also no longer support the 'exact' and 'approximate'
	   strings (which have not been	supported for some time).  These will
	   be removed in 7.00 as well.

       Deprecation of TZ postponed
	   The deprecation of the TZ variable has been postponed to version

       Some speed improvements
	   I converted some of the functions to	use faster algorithms.
	   Previously, the steps were worked out using logical time/calendar
	   based calculations.	These were replaced with non-intuitive
	   numerical calculations that gave the	same result faster.

       Changed behavior	if timezone not	determined
	   If the system timezone cannot be determined using any of the
	   methods supplied by Date::Manip, operations will be done in the GMT
	   timezone.  Previously, Date::Manip would simply fail	to load.
	   Based on a report by	Kent Fredric (RT 123229).

       Fixed Makefile.PL
	   The list of what what is provided did not include the path to the
	   file	providing each module.	I've fixed the Makefile.PL as well as
	   the META files.  Graham Knop	(GitHub	#13)

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2018c)

       Documentation fixes
	   Rewrote Date::Manip::Delta page to reflect changes, and clean up
	   the documentation in	general.

VERSION	6.60 (2017-09-01)
       Bug fixes
	   Fixed a bug where if	a recurrence had no interval, start and	end
	   dates passed	in to the dates	method would not work.	PJ-DSI-DevOps
	   (GitHub #12).

       Documentation fixes
	   Clarified Date::Manip::TZ::all_periods.  Based on discussion	with
	   Peter Pfannenschmid.

VERSION	6.59 (2017-06-01)
       Time zone fixes
	   Newest zoneinfo data	(tzdata	2017b)

       Documentation fixes
	   Improved some of the	documentation.

VERSION	6.58 (2017-03-01)
       Better support for $mode	in DateCalc.
	   DateCalc (in	DM6) did not support all values	for $mode.  Now	it

       Bug fixes
	   Parsing a date like 01/02/2016 and calling printf with %e gave '02'
	   instead of '	2'.  Robert Wohlfarth (RT 119787).

	   Fixed a problem where the tzdata method of determining the timezone
	   was producing an error which	wasn't correct.	 John (GitHub #8)

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2017a)

VERSION	6.57 (2016-12-01)
       Time zone fixes
	   Newest zoneinfo data	(tzdata	2016j)

       Test fixes
	   A faulty test was failing in	a few places.  RT 118705

	   Another test	was failing due	to a perl bug that popped up in
	   5.25.7.  Tweaked the	test to	bypass the bug.	 Kent Fredric (RT

VERSION	6.56 (2016-09-09)
       Test fixes
	   A faulty test was failing most places.  New release to correct that
	   problem.  Slaven Rezic (RT 117404)

VERSION	6.55 (2016-09-01)
       Fixed bug where $::TZ wasn't used
	   The $::TZ variable was not getting interpreted correctly when
	   searching for a timezone.  Steven Hartland (RT 114949)

       Fixed bug where recurrences were	not parsed correctly
	   Passing in incorrect	values for a field was not trapped in all
	   cases and it	led to problems.  All values passed in to a recurrence
	   are now correctly checked.  Albert Hilazo (GitHub #7).

       Fixed a bug in some methods of creating new objects
	   Some	methods	of creating new	objects	based on existing objects did
	   not correctly use the existing object.  Bug has never been
	   reported, but was discovered	when adding tests to get 100%

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2016f)

       Test fixes
	   Added a number of new tests based on	Devel::Cover.

VERSION	6.54 (2016-05-31)
       Deprecation of Date::Manip 5.xx tests
	   By default, the Date::Manip 5.xx tests will no longer run.  Changes
	   to the timezone data	can cause failures.  Since Date::Manip 5.xx is
	   no longer supported in any way, these tests will no longer run on a
	   system where	6.xx can be run.  Richard Jelinek.

       Deprecation of TZ postponed
	   The deprecation of the TZ variable has been postponed to March
	   2017.  I decided that 1 year	was not	enough notice (especially
	   since not everyone will have	updated	Date::Manip since March	2015
	   when	the warning was	added.

       Bug fixes
	   Changed requirement for ExtUtils::MakeMaker to 6.67_01.  Quin
	   Arnold (RT 112286)

	   Fixed a bug where a timezone	abbreviation was not parsed correctly
	   when	passed in as a value to	the SetDate, ForceDate,	or TZ config
	   variables.  Based on	a report in

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2016d)

	   Made	some improvements to how I handled the timezone	data which
	   resulted in a few of	the default timezones being changed.

       Documentation fixes
	   Fixed one more typo.	 Gregor	Herrmann (RT 114095)

	   Clarified the Config	document.  Based on a report in

VERSION	6.53 (2016-03-02)
       Bug fixes
	   Date::Manip::Delta::cmp had a bug in	it's comparison.  Ian Gibbs.

	   The secs_since_1970_GMT method was missing a	test to	see if it was
	   a valid object.  Michael Stevens (RT	111915)

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2016a)

       Documentation fixes
	   Lots	of typos fixed.	 I was using podspell to do spell checking,
	   but it was discarding too much real text (which wasn't getting
	   checked as a	result).  Switched to pod2text which does a better
	   job.	 Gregor	Herrmann (RT 110025)

VERSION	6.52 (2015-12-01)
       Added date ranges on unmodified dates in	Recur
	   The date range can now be specified for either the fully modified
	   dates, or the unmodified dates.  This will make it easier to	work
	   with	holidays in some instances.  Based on

       Added IWn and NWn recurrence modifiers
	   Based on <>.

       (!) Reworked holidays slightly
	   Previously, every line in the Holidays section defined a unique
	   holiday.  Now, the names determine the list of holidays.

	   It is not allowed to	have two separate holidays named exactly the
	   same.  It IS	allowed	to have	complex	holidays that require two (or
	   more) lines in the Holidays section to define them completely.

	   Based on <>.

       Bug fixes
	   Fixed a bug where the RecurRange config variable wasn't getting

	   Fixed a bug where some deltas were not parsed correctly as dates.
	   Salvatore Bonaccorso	(RT 109600)

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2015g)

       Test fixes
	   Added a number of new tests based on	Devel::Cover.

VERSION	6.51 (2015-09-01)
       Changes suggested by perlcritic
	   Played with perlcritic and made a few minor changes based on	it's
	   suggestions.	 I doubt I will	use perlcritic significantly.

       (!) Date::Manip::Delta::value now returns an empty string
	   If a	delta has an error, or no valid	delta in it, the value method
	   returns an empty string instead of undef.  This is to be consistent
	   with	the Date::Manip::Date::value method which returns an empty

       Bug fixes
	   Fixed a bug where date/delta	calculations with deltas that are too
	   large was not working correctly.  They now set an error condition
	   and fail.  Jared Selengut (RT 105737)

	   Fixed a bug introduced by the previous patch	and luckily discovered
	   pre-release by Tom Wyant.

	   Fixed code that produced a warning in 5.22.0.  Tom Wyant

       Improved	DM6 ParseDate and ParseDateString
	   Added @opts argument.  Based	on report by Vitaly Shupak (RT

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2015f)

	   Now uses /etc/localtime as a	method to determine the	local
	   timezone.  Patch supplied by	Tom Wyant (RT 105159) (modified	by
	   me).	 The patch uses	some code derived from DateTime::TimeZone .

	   Clearer message when	the date is not	valid in the timezone.

       Test fixes
	   Added a number of new tests based on	Devel::Cover.  Over the	next
	   several releases, I intend to continue to add tests until coverage
	   is 100%.

       Documentation fixes
	   Fixed a typo.  Gregor Herrmann (RT 105546)

VERSION	6.50 (2015-06-01)
       Bug fixes
	   Not really a	bug, but 6.49 got a bunch of NYTprof data bundled with
	   it by mistake.  It's	been removed.  Olivier Mengue (RT 103252)

	   Fixed a bug where information about whether a date was complete or
	   truncated was discarded.  Jim Avera

	   Fixed a bug where SetDate with a zone alias failed.

	   Added the Format_MMMYYYY config variable to allow the truncated
	   format mmmYYYY to be	parsed instead of mmmDDYY.  David W.
	   Morganwalp and Glenn	Golden (RT 103142)

	   Fixed Makefile.PL/Build.PL to correct for a change on perl on
	   windows which changes a module prereq requirement.  Alexandr

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2015d)

	   Added aliases for older HP-UX time zones.  H. Merijn	Brand (RT

       Documentation fixes
	   Fixed URL for tzdata.  Mohammad S Anwar (GitHub #3).

	   Better POD formats.

	   Fixed a documentation error.	 Glenn Golden (RT 103966)

VERSION	6.49 (2015-03-01)
       Added a deprecation warning
	   The TZ config variable is going away.  Added	a deprecation warning.

       Some speedups for timezone handling
	   Based on a report by	Glenn Golden (RT 102284), I have done some
	   optimization	of the timezone	handling code.

       Bug fixes
	   Added the missing is_date base method to Date::Manip::Base.	Mario

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2015a)

       Language	fixes
	   A number of corrections by Nicholas Riley

VERSION	6.48 (2014-12-01)
       Put repository on GitHub
	   Suggested by	Gabor Szabo

       parse_time now parses ISO 8601 times
	   The parse_time routine wouldn't correctly parse ISO 8601 times.
	   This	is now fixed.

       Parsing special dates with timezones now	works
	   Parsing special date	formats	with timezones is now supported	such

	      Christmas	at noon	PST
	      in 3 days	at noon	PST
	      now PST
	      epoch 3000000 PST

       dm_zdump	modified
	   To match the	newest version of zdump, the gmtoff is now added at
	   the end of each line.

       Bug fixes
	   Fixed a bug in the printf method that would not handle embedded
	   newlines correctly (and resulted in an infinite loop	if it were
	   preceded by a '%').	Henrique Martins

	   Fixed a bug where '24:00' was not parsed correctly (though
	   '24:00:00' was).

	   Fixed a bug where fractional	values separated by a comma weren't
	   parsed correctly.

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2014j)

VERSION	6.47 (2014-09-01)
       Time zone fixes
	   Newest zoneinfo data	(tzdata	2014f)

       Language	fixes
	   Fixed some encoding errors in the language pod documentation.

VERSION	6.46 (2014-07-08)
       Broken distribution
	   The distribution contained an temporary edit	file that caused
	   problems.  Alexandr Ciornii (RT 96459)

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2014e)

       Language	fixes
	   Added some plural abbreviations that	were missing.  Glenn Golden
	   (RT 96944)

VERSION	6.45 (2014-06-05)
       Fixed a test
	   One test was	failing	(reported by Constantine Peresypkin (RT	96249)
	   as well as several CPAN Tester reports).

VERSION	6.44 (2014-06-01)
       (*) Improvements	to UTF8	handling
	   A number of changes based on	a report and other discussion with
	   Yuri	Nikulin	(RT 93545) including:

	   Case	insensitive matching of	UTF8 strings should work all the time.

	   Fixed two significant bugs in regexps for parsing dates.

	   Improvements	to UTF8	handling.

	   Corrected some problems with	Russian	and added the cp1251 encoding.

	   One correction to Romanian.

	   Added several new test scripts.

	   Preliminary patches were supplied by	Yuri.

       New features
	   Modified the	parse_format function to return	%+ if desired.	Mike

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2014c)

       Documentation fixes
	   Clarified some DM6 functions.  David	Close.

	   Fixed a typo.  Mike Cappella	(RT 95619)

VERSION	6.43 (2014-03-03)
       Several changes to distribution files
	   I made several changes to Build.PL, Makefile.PL, META.yml in	order
	   to improve the quality (or kwalitee)	of the module.	None of	these
	   should impact anyone	using the module.

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2013i)

       Documentation fixes
	   Cleaned up some of the Recur	documentation.	Suggested by Warren
	   Young (RT 92794)

VERSION	6.42 (2013-12-02)
       Added ParseDateFormat function
	   Added the ParseDateFormat function to the DM6 functional interface
	   in response to Eli Lindsey (RT 89286).

       Added Common Log	format
	   Added the date format used in apache	logs: 11/Oct/2000:13:55:36
	   -0700 Eli Lindsey (RT 89286).

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2013h)

       Bug fixes
	   Fixed a bug where dates of the form of a delta with a timezone
	   attached (i.e. "1 day ago at	midnight UTC") failed.	Ludovic	Lange
	   (RT 89256)

	   Fixed a bug where events handling gave a warning if there were no
	   events that applied.	 RT 90344

VERSION	6.41 (2013-09-05)
       Bug fixes
	   Removed a .swp file accidentally left in the	package.  RT 85845

	   Fixed a bug in parse_format where times between 00:00:00 and
	   01:00:00 weren't parsed correctly.  Ole Nomann Thomsen

	   Fixed generated META.* files	to not require Module::Build 0.39.
	   Carsten Wolff (RT 86137)

	   Fixed a bug where parse_format did not work with a '%s' format.
	   Mark	Keisler	(RT 87498)

	   Fixed a bug where find_encoding wasn't imported from	the Encode
	   module.  Krishna Subramanian	(RT 87665)

	   Fixed a bug where recurrences with no interval did not work if a
	   start and end date were specified, and no dates fell	in that	range.
	   Jan Pradac

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2013d)

VERSION	6.40 (2013-06-01)
       Removed PODs
	   POD documentation is	no longer generated for	Date::Manip::TZ::* and
	   Date::Manip::Offset::* modules.

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2013c)

VERSION	6.39 (2013-03-01)
       Added the $mode argument	to ParseDateDelta
	   The ParseDateDelta function (in functional interface) did not allow
	   you to force	a parsed delta to semi or approx where appropriate.
	   This	was added.  Based on RT	82991.

       Added get_config	method
	   The get_config method was added to all classes.  Suggested by
	   Philippe Poilbarbe.

       Language	fixes
	   Fixed a German language problem.  Gosta Oelstrom

       Documentation fixes
	   Documented workaround for dmake problem in strawberry perl.
	   Discussed on	perlmonks and Martin Thurn (RT 79837).

	   Clarified the Examples page.	 Winston Heng

VERSION	6.38 (2013-01-08)
       (*) Tar file format corrected
	   Problems were reported on several OSes by people unable to install
	   Date::Manip (and other modules).  It	turns out that the version of
	   tar distributed by my linux distro (OpenSuSE) uses the 'posix'
	   format instead of the traditional 'gnu' format by default.  This
	   causes problems for some versions of	tar.  I	have had reports from
	   OSX,	Windows, and SunOS.  Future versions of	Date::Manip will be
	   explicitly distributed in the 'gnu' tar archive format.

	   Reported by Jay Allen and John Ralls	(RT 80594).

       (*) Date::Manip 5.xx end-of-life
	   Date::Manip 5.xx is now officially out of support.  I will not be
	   doing any further work on it.  The only exception is	that I will
	   consider adding user	supplied patches on a case-by-case basis.

	   If at all possible, please use Date::Manip 6.xx instead.

       (!) Removed some	deprecated config variables
	   The following config	variables have been removed.


VERSION	6.37 (2012-12-01)
       Bug fixes
	   Fixed a bug where ISO 8601 format YYYY-WXX-D	didn't work if the
	   week	ended up in December.  Gordon Lugauer.

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2012j)

       Documentation fixes
	   Spelling error fixed.  RT 80621

VERSION	6.36 (2012-10-31)
       Fix version numbers
	   This	was an interim release to fix the version numbers (6.35	was
	   released with all of	the version numbers 6.34).

VERSION	6.35 (2012-10-31)
       Fix PATH
	   This	version	was an interim release to fix the problem with the
	   PATH	being replaced.

       Removed dependency on YAML
	   I've	reverted the language data files to perl literals instead of
	   YAML.  Though not quite as easy to maintain,	it solves a few
	   problems.  Patch provided by	Christopher Madsen.

       Bug fixes
	   Last	versions fix for RT 78566 overrode the PATH even when that
	   wasn't appropriate.	This is	fixed.	Report and patch supplied by
	   Tom Wyant (RT 80435).

VERSION	6.34 (2012-09-04)
       This is a bug fix so that the PATH won't	break non-unix installs.

       Bug fixes
	   Put the PATH	inside the Unix	section	so it doesn't affect non-unix
	   environments.  Geoff	Rowell

VERSION	6.33 (2012-09-01)
       Improvements to Date::Manip::Delta
	    Added convert method.  This	had been planned since 6.30, but based
	    on a discussion with Henrique Martins, I moved it up in priority.

	    Cleaned up handling	of delta field lengths (they are now only
	    calculated once.

	    Added cmp method.  Henrique	Martins

       Bug fixes
	    The	language modules read from the DATA section, but I never
	    closed the filehandle.  This is fixed now.	Patch by Doru Theodor

	    Added better loading of DM5/DM6 modules.  Evan Carroll (RT 78152)

	    Added a secure PATH	to for taint reasons.  In	response to
	    Dan	Pritts (RT 78566)

       Time zone fixes
	    Now	supports timezones in files with spaces	where there should be
	    underscores.  This occurs in RHEL desktop.	Dan Pritts (RT 78566)

	    Newest zoneinfo data (tzdata 2012e)

       Documentation fixes
	    Minor fix.	Henrique Martins

VERSION	6.32 (2012-06-01)
       Modified	Build.PL
	   Build.PL now	has better support for building	(or not	building) HTML
	   files.  Apparently this is slow on Windows.	Patch provide by Manoj
	   Kumar (RT 75118)

       Bug fixes
	   Fixed a bug in business day calculations.  Frederic Briere (RT

	   Fixed a bug where Delta/Recur objects weren't correctly created.
	   Zsban Ambrus

	   Fixed a bug where SetDate/ForceDate config variables	could not be
	   included in a file.	Jerry Wilcox

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2012c).

       Documentation fixes
	   Better support for UTF-8 in autogenerated language module pod

VERSION	6.31 (2012-03-01)
       Added extended formats to printf	method.
	   These include the %<A=NUM>, %<a=NUM>, %<v=NUM>, %<B=NUM>, %<b=NUM>,
	   %<p=NUM>, and %<E=NUM> formats.  Chris Jackson

       Can now parse formats where the time and	zone are not adjacent
	   A string like 'Jan 21 17:13:27 2010 -0400' can now be parsed.
	   Requested on	perlmonks ('Can	Date::Manip parse a unix timestamp'

       Added PeriodTimeSep config variable.
	   This	allows you to use a period as a	time separator.	 Ed Avis

       Holidays	can be used as date strings
	   You can now parse a holiday name in the Date::Manip::Date::parse
	   method.  For	example, parse('Christmas').  Requested	by Abigail.

       Added new recur modifiers
	   Added WDn, IBD, and NBD modifiers.

       Added a new date	format
	   You can now parse '2nd day in May' formats. Randy Harmon

       More flexibility	in parsing timezones with both offset and abbrev
	   If you include both the offset and abbreviation in the timezone
	   portion of a	date, the parenthesis around the abbreviation are now
	   optional, so	you can	parse both:

	      -04:00 (EDT)
	      -04:00 EDT

	   Requested by	Steven Melendez.

       Deltas now support fractional values.
	   You can now use a delta of 1.5 days.	 Martin	Thurn (RT 42699)

       Multiple	holidays supported
	   A date may now have multiple	holidays.  Keith Minkler

       Bug fixes
	   Fixed a bug where abbreviations were	not being examined case
	   insensitively.  Jurgen Muck

	   The Holidays	section	may be safely split across multiple config
	   files.  A bug prevented this	from working before.

       Language	fixes
	   The Norwegian translation was broken	due to a typo in the language

	   Included complete documentation for each language.

	   Fixed a couple problems with	Danish.	 Nicholas Oxhaj

	   Added Finnish (from a VERY old mail that I overlooked somehow).
	   Iikka Virkkunen

	   Cleaned up the values used by printf	directives to give the
	   expected result.

       Documentation fixes
	   Fixed a typo.  Nicholas Bamber

VERSION	6.30 (2012-01-11)
       (*) (!) Reworked	deltas
	   Much	of the delta code was reworked.

	   The constraint that a day is	treated	as 24 hours was	removed	(by
	   adding the concept of semi-exact deltas) to better handle daylight
	   saving time calculations.

	   Made	cosmetic changes to which signs	will be	included in a delta to
	   make	the deltas more	readable.  Signs which are the same as the
	   next	higher field will be omitted, even if they cross set

	   Added support for non-normalized deltas.  See the $no_normalize
	   option for the parse	and set	methods.

	   Removed limitations on subtract=2 not working with business

	   Thanks to discussion	on perlmonks, and RT 65774 that	prompted me to
	   do this.  I'd been wanting to do it for some	time, but the
	   discussion on perlmonks made	me realize that	this needed to be much
	   higher priority.

       (!) Modified Delta_Format
	   In conjunction with the above work, added the 'semi'	mode to

       (!) Removed some	deprecated config variables
	   The following config	variables have been removed.



       Time zone fixes
	   Newest zoneinfo data	(tzdata	2011n).	 RT 71595

	   Corrects a bug where	+0000 and -0000	offsets	were not parsed
	   correctly.  Aaron Hall

	   The zoneinfo	data includes rules more than 20 years in the future,
	   so we now store 30 years of future dates instead of 20 to catch
	   these rules.

	   When	parsing	the timezone portion of	the date, timezone
	   abbreviations now take higher precedence than zone names (since
	   that	is how timezone	information is typically specified).  That
	   only	impacts	dates where the	a timezone name	is the same as an
	   abbreviation, such as 'CET'.

	   Previously, a date with CET in it was interpreted as	in the CET
	   timezone.  Now it is	interpreted as in a timezone with the CET

       Better handling of undef	in DM6
	   The date/delta parsing routines in DM6 will now handle an undef
	   argument without issuing a warning.	Earl C.	Ruby III

       Bug fixes
	   Fixed a bug with the	parse_format %f	and %i formats.	 Tommi Rintala

	   Fixed a bug where the Date::Manip::Delta::set function didn't work
	   to set the month value.

	   Fixed a bug where parsing some dates	near during a DST change

	   Minor bug fix when using Delta_Format.  Prompted while
	   investigating RT 41095.

VERSION	6.25 (2011-08-31)
       Relaxed one constraint in ISO 8601 dates
	   A time separated by whitespace from the date	can use	a single digit
	   hour.  Yuming Philip	Xiang

       (*) Set official	removal	dates for old config variables
	   Config variables will be removed 2 years after they are deprecated
	   (except for the TZ variable which, due to it's wide use, will be
	   kept	for 4 years).

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2011i)

VERSION	6.24 (2011-06-13)
       New features
	   Spaces are ignored in the SetDate/ForceDate config values.  Zsban

       Bug fixes
	   Fixed a bug where 'in one week' wasn't correctly parsed.  E.	M.

	   Fixed a bug where options passed in to the 'new' as a listref
	   weren't handled properly.  Zsban Ambrus

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2011g)

VERSION	6.23 (2011-04-15)
       (!) Renamed one Date::Manip::Recur method
	   The Date::Manip::Recur::base	method has been	renamed	to basedate .
	   The Date::Manip::Recur::base	method should return the
	   Date::Manip::Base object like all the other Date::Manip modules.

       (*) Reworked holidays defined as	recurrences
	   Improved dealing with the bootstrap problem of defining holidays,
	   especially those that contain business day flags.  Mike Tonks

       New features
	   The printf function will now	take multiple format strings and
	   return a list of values.  Zsban Ambrus

       Bug fixes
	   Fixed a bug where GlobalCnf wasn't working.	Peter Edwards

	   Improved error messages in a	few cases.

	   Fixed a bug where one invalid date/timezone check was ignored.
	   Morten Bjornsvik

	   Fixed a bug where '$base2 = new Date::Manip::Base $base1' wasn't
	   working.  RT	67143

	   Fixed a bug where passing dates in to the Recur->dates method
	   failed.  RT 67144

	   Fixed a bug where the mode wasn't being preserved correctly for a
	   delta.  RT 67150

	   Fixed a bug in recurrences where a base date	outside	of a date
	   range with a	very uncommon recurrence format	would not work

	   Fixed a problem where the '%s' printf option	didn't work in GMT.
	   Jean-Michel Hiver

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2011f)

       Documentation fixes
	   Fixed two bad recurrence examples in	the documentation.  Peter
	   Edwards and Mike Tonks

VERSION	6.22 (2011-03-07)
       Time zone fixes
	   Newest zoneinfo data	(tzdata	2011b)

	   Fixed a bug where the gmtoff	method of getting the local timezone
	   was broken.	Martin Zinser.

	   Fixed the 'env' method of determining the local time	zone to	allow
	   the value to	be an offset of	seconds	since UTC.  This allows	the
	   VMS SYS$TIMEZONE_DIFFERENTIAL variable to work correctly.  Martin

	   Removed the SYS$TIMEZONE_RULE method	from VMS since the value
	   stored there	is not the name	of a timezone (it's a rule in a	non-
	   standard format).  Based on discussion with Martin Zinser.

	   Improved the	order in which aliases,	abbreviations, etc., are
	   tested to test current usage	before non-current usage (there	were a
	   few cases where old usages were getting tested before current

       Language	fixes
	   The module will now die if a	language module	cannot be loaded (most
	   likely due to a YAML::Syck issue).  Based on	discussion with	Martin

       Documentation fixes
	   Added a sample config file document.	 Based on discussion with Rich

VERSION	6.21 (2011-01-10)
       New features
	   Deltas may now contain spelled out numbers, so 'in 2	weeks' and 'in
	   two weeks' will both	work.  Daniel Shahaf

       Bug fixes
	   Fixed a bug where week_of_year didn't work in some cases.  Chris

	   Fixed a minor potential bug.	 Geraint Edwards.

       Time zone fixes
	   Updated windows time	zone aliases.  Daniel Harding

       Language	fixes
	   Added Norwegian.  Glenn Sogn

VERSION	6.20 (2010-12-01)
       (*) (!) Reworked	recurrences
	   Recurrences were reworked in	a (slightly) backward incompatible way
	   to improve their usefulness (and to make them conform to the
	   expected results). Most recurrences will work the same as
	   previously, but a few will differ. Most of this was suggested by
	   Jay Jacobs.

	   A recurring event is	now calculated relative	to the base date, NOT
	   relative to a previous event. For example, if a recurrence occurs
	   every month,	and the	base date was Jan 31, then previously,
	   recurring events would have been (in	a non-leap year):

	      D(0)		     = Jan 31
	      D(1)  = D(0) + 1 month = Feb 28
	      D(2)  = D(1) + 1 month = Mar 28

	   The new behavior is:

	      D(0)			 = Jan 31
	      D(1)  = D(0) + 1*(1 month) = Feb 28
	      D(2)  = D(0) + 2*(1 month) = Mar 31

	   Previously, if a base date were not specified, it was not
	   determined from the date range. Now,	the start date of the date
	   range acts as the base date.

	   The meaning of the base date	has changed slightly. It is much more
	   meaningful and useful now.

	   Added iterator functions.  Daniel LaLiberte

	   The RecurNumFudgeDays variable is no	longer used and	is deprecated.

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2010o)

VERSION	6.14 (2010-10-20)
       (*) Date::Manip 5.xx fully integrated with 6.xx
	   Date::Manip 5.xx and	6.xx are both installed	automatically, and the
	   correct one will be chosen.

       Bug fixes
	   Fixed a bug where recurrence	handling was broken.  RT 62128

       Documentation fixes
	   A lot of documentation was cleaned up to be easier to read, and
	   better organized.

VERSION	6.13 (2010-10-13)
       New features
	   Added the input methods to Date::Manip::Date	and
	   Date::Manip::Delta.	Ed Avis.

	   The 'date +%z' command will also be used to determine the timezone.
	   Oliver Schulze

       Bug fixes
	   Several changes to try to get rid of	a memory leaks reported	in RT
	   54937.  Huge	thanks to BrowserUK on perlmonks for help.
	   Unfortunately, it ended up being a bug in perl, and will only be
	   resolved when that bug is fixed. See	the Date::Manip::Problems
	   document for	more information.

	      Reorganized Base/TZ to get rid of	circular references.
	      Added end	blocks to clean	some global variables.
	      Got rid of switch/given structures.

	   Fixed a bug where an	incomplete date	with 'last' in it was causing
	   an error.  RT 60138

	   Fixed a bug where 'Sunday, 9th Jan 1972' wasn't parsed correctly.
	   RT 57832

       Time zone fixes
	   Fixed a bug where was generated with the abbreviations in
	   the wrong order.  Amish Chana.

       Language	fixes
	   French month	abbreviations now support periods.  Bernard Haerri

       Test fixes
	   Added tests from RT 29655 to	make sure that the problem never

       Documentation fixes
	   Fixed documentation problem with the	new_* methods in
	   Date::Manip::Obj.  Options must be passed in	as \@opts rather than

	   Cleaned up some of the documentation.

VERSION	6.12 (2010-09-27)
       (!) IntCharSet config variable deprecated
	   With	better support for international character sets, the old
	   IntCharSet config variable (which was a bandaid at best) is
	   deprecated. Currently, the functionality still exists, but it will
	   be removed at some point.

       New features
	   Added the Encoding config variable.

	   Now supports	parsing	the EXIF date format.  Rhesa Rozendaal

       Bug fixes
	   Fixed Build.PL to not require perl 5.010 since the distribution as
	   a whole does	not require that (and I	want that fact to be in

	   Fixed a bug where the Date::Manip::Date::set	method was broken when
	   setting individual fields.  Helmut A. Bender

	   Fixed a bug where set didn't	work in	Date::Manip::Delta. Patch
	   provided in RT 59096.

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2010m)

       Language	fixes
	   (*) Converted all language files to UTF-8 and added rudimentary
	   support for character encodings. Some assistance by Stephen

	   Fixed problem in Polish, Dutch.  Stephen Ostermiller

	   Extended support for	'nth' up to 53rd.  Paco	Regodon

	   Added some corrections to German.  Dieter Lange

       Documentation fixes
	   Clarified Date::Manip::Recur	documentation based on RT 59132.

VERSION	6.11 (2010-04-30)
       Bug fixes
	   Fixed a problem in Build.PL that had	an incorrect module

VERSION	6.10 (2010-04-29)
       (*) Combined 5.xx and 6.xx releases into	one distribution
	   Because the automatic module	management tools cpan/cpanp would try
	   to upgrade Date::Manip to the most recent version, and the most
	   recent version will only work if perl 5.10.0	or higher is
	   installed, both the 5.xx and	6.xx releases are now combined into a
	   single distribution.

	   This	is described more fully	in the Date::Manip::Problems document.

       (!) Zones specified by offset
	   In all operations involving time zones, the time zone must be
	   determined.	By default, it would take all of the information
	   available (date, ISDST, etc.) and determine the most	likely time
	   zone. It would take every time zone that matched each piece of
	   information,	starting with those that matched in a standard time
	   followed by those that matched in a daylight	saving time.

	   When	zones are specified by an offset, a standard time would	always
	   match since there are standard time zones that match	all year long
	   (the	military time zones A-Z	and the	standard time zones of the
	   form	Etc/GMT+01). As	a result, a daylight saving time match would
	   never occur.

	   Since (if the date falls during a daylight saving time period) you
	   usually want	to use a time zone that	has that offset	in daylight
	   saving time,	the default is now to check daylight saving time zones
	   first, followed by standard times.

	   See the Date::Manip::TZ manual (under the zone method) for more

       Bug fixes
	   Fixed a bug where Date_ConvTZ not working correctly with time zones
	   specified by	offset.	 Chris Butler

	   Fixed a bug where business mode calculations	involving minutes was
	   not handled correctly.  Damien Moore

	   Fixed a bug where business mode calculations	failed in some cases.
	   RT 56638

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2010i)

	   Changed Date::Manip::TZ::zone so "dst" is sometimes the default
	   $dstflag.  Based on the bug report by Chris Butler.

	   OpenUNIX puts a colon at the	start of some time zones. It's
	   removed.  Jean Hassler

       Test fixes
	   Converted tests to Test::Inter

       Documentation fixes
	   Fixed a documentation bug in	Date::Manip::TZ	where "stdonly"	was
	   listed as the default value for $dstflag, but in actuality, "std"
	   is the default.

VERSION	6.07 (2010-02-05)
       Bug fixes
	   Fixed bug in	Date_TimeZone where it wasn't returning	the time zone.
	   Robert Eden

VERSION	6.06 (2010-02-05)
       Bug fixes
	   Minor bug where %Z printf format didn't always work.

	   Added support for 5pm back in (it was omitted accidentally).	 Mark

	   Fixed a minor warning.  Morten Bjoernsvik

	   Some	additional speedups.

       Time zone fixes
	   Newest zoneinfo data	(tzdata	2010b)

	   Added dm_zdump example script.

	   Improved TZ::periods	functionality

	   Fixed bug in	Date_ConvTZ where empty	values weren't defaulting to
	   local time zone.  Robert Eden

	   Fixed a couple of problems in the generated time zones for some odd
	   cases (America/Resolute and Asia/Tehran).

VERSION	6.05 (2009-12-09)
       (!) %z format
	   In Date::Manip 5.xx,	the %z format in UnixDate printed the offset
	   in the form -0500. In 6.00, I changed that to -05:00:00, but	this
	   broke RFC 822 compliance.

	   I've	changed	%z back	to -0500, and introduced a new format (%N)
	   which returns -05:00:00.

	   Incidentally, this is the LAST unused letter, so I am now going to
	   have	to either stop adding formats, or add some extended format
	   syntax. Not sure yet	which, but this	may involve a backwards
	   incompatible	change in the future.

       (*) Significant speedups.
	   Thanks to Moritz Lenz and BrowserUK on perlmonks for	suggestions
	   (and	a number of other people on perlmonks for suggestions that I
	   did not end up using, but which provided a great discussion).

       Bug fixes
	   Fixed a bug in parse_date where the current time was	getting	used
	   instead of the documented 00:00:00

	   Bug fix where DateCalc didn't work with $mode in some cases.

	   Fixed Makefile.PL/Build.PL to handle	Win32::TieRegistry

	   Changed %z printf behavior back to 5.xx and added %N	format.	Gilles

	   Added dm_date example script.

       Time zone fixes
	   Fixed bug where non-English Windows versions	didn't get the time
	   zone. Thanks	to Rene	Schickbauer for	testing.

       Test fixes
	   Reduced the precision of 1 test to avoid a rounding difference when
	   using a perl	compiled with uselongdouble.  Andreas Koenig

VERSION	6.04 (2009-11-25)
       Bug fixes
	   Fixed a bug where events were not interpreted in the	correct	time
	   zone	if SetDate/ForceDate used.

VERSION	6.03 (2009-11-24)
       Bug fixes
	   Corrects a backward incompatibility with UnixDate. Rene Schickbauer

       Test fixes
	   A couple more corrections to	the tests.

VERSION	6.02 (2009-11-24)
       Bug fixes
	   Disabled curr_zone_methods when taint checking on. I	believe	that
	   Date::Manip is completely taint friendly at this point.

       Test fixes
	   A quick fix to make sure that the tests run correctly in other time

VERSION	6.01 (2009-11-23)
       Bug fixes
	   (*) Fixed a bug where dates were sometimes getting the wrong	time
	   zone	when SetDate/ForceDate in effect.

VERSION	6.00 (2009-11-23)
       First release of	the 6.xx series
	   Date::Manip 6.00 is a total rethink of the module, and a nearly
	   complete rewrite. Please refer to the Date::Manip::Changes5to6
	   document for	a list of incompatible changes.

	   (*) Massive reorganization and near total rewrite.

	   (*) Broke into several smaller modules

       New Features
	   (*) Full time zone support (using tzdata 2009s)

	   Added some functionality (suggested by James	Elson to improve
	   setting the "current	time".	Done with the ForceDate	config

	   (*) Converted languages to YAML for much easier maintenance.	Patch
	   and suggestion provided by Evan Carroll

	   Added much better formats for deltas. Suggested by Jim Hranicky.

	   Borrowed the	_FindWindowsTZName function from the DateTime-TimeZone

	   Added SetDate config	variable (based	on a suggestion	by Christian

	   Added parse_format which was	first suggested	by Kim Ryan.

       Other changes
	   Several config variables deprecated

	   Thanks to Jonathan Hogue for	helping	test Windows additions.

       Bug fixes (correcting problems in the 5.xx releases)
	   Fixed a bug where "YYtoYYYY=c" wouldn't work.

	   VMS bugfix to not call `date` command.  Lane

	   New Year's Day defined using	a recurrence which might push the
	   observed day	to the previous	year was broken. Reported by Jerry

       Language	fixes
	   Fixed typo in Turkish translation.

	   Spelling fix	in Dutch. Bart Van Loon

       Additional credits
	   I have received many	suggestions over time which were automatically
	   handled during the 6.00 rewrite. Although the changes weren't made
	   because of the suggestions specifically, I wanted to	acknowledge
	   them	since I	appreciate the suggestions.

	   I believe the first person to suggest writing Date::Manip as	an OO
	   module was Eduard Derksen.

	   Delta_Format	initialization done outside of the function.  Eric

	   Added $subtract to calculation routines. First suggested by Steve

	   Added ability to set	individual parts of the	date
	   (Date::Manip::Date::set).  First suggested by Martin	Thurn.

	   UnixDate (i.e. Date::Manip::Date::printf) only calculates formats
	   when	they are needed.  Eduard Derksen

	   Parsing will	skip some date/time formats if requested. This was
	   first suggested by Eduard Derksen.

	   It has been suggested several times to support multiple languages,
	   multiple config files, or multiple sets of Date_Init	options. These
	   suggestions (by Meng	Fang, Ed Avis, Christian Campbell, and perhaps
	   others) were	at the back of my mind as I developed the
	   Date::Manip::Base class.

	   The regular expressions are all i18n	friendly in anticipation of
	   much	better support for localization. First suggested by Alex

	   Parsing a date ('today', 'Monday') gives a time of '00:00:00'.
	   Suggested by	Mark Aitchison.

	   Working with	fractional days	was suggested by Peter van Hardenberg.
	   This	is implemented in Date::Manip::Base::day_of_year method.

       Please refer to the Date::Manip::Problems documentation for information
       on submitting bug reports or questions to the author.

       Date::Manip	 - main	module documentation

       This script is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       Sullivan	Beck (

perl v5.32.1			  2020-11-30	      Date::Manip::Changes6(3)

NAME | SYNOPSIS | VERSION 6.83 (2020-12-01) | VERSION 6.82 (2020-06-01) | VERSION 6.81 (2020-03-01) | VERSION 6.80 (2020-03-01) | VERSION 6.79 (2019-12-01) | VERSION 6.78 (2019-08-29) | VERSION 6.77 (2019-06-01) | VERSION 6.76 (2019-03-01) | VERSION 6.75 (2018-12-03) | VERSION 6.74 (2018-12-01) | VERSION 6.73 (2018-09-01) | VERSION 6.72 (2018-06-06) | VERSION 6.71 (2018-06-01) | VERSION 6.70 (2018-03-01) | VERSION 6.60 (2017-09-01) | VERSION 6.59 (2017-06-01) | VERSION 6.58 (2017-03-01) | VERSION 6.57 (2016-12-01) | VERSION 6.56 (2016-09-09) | VERSION 6.55 (2016-09-01) | VERSION 6.54 (2016-05-31) | VERSION 6.53 (2016-03-02) | VERSION 6.52 (2015-12-01) | VERSION 6.51 (2015-09-01) | VERSION 6.50 (2015-06-01) | VERSION 6.49 (2015-03-01) | VERSION 6.48 (2014-12-01) | VERSION 6.47 (2014-09-01) | VERSION 6.46 (2014-07-08) | VERSION 6.45 (2014-06-05) | VERSION 6.44 (2014-06-01) | VERSION 6.43 (2014-03-03) | VERSION 6.42 (2013-12-02) | VERSION 6.41 (2013-09-05) | VERSION 6.40 (2013-06-01) | VERSION 6.39 (2013-03-01) | VERSION 6.38 (2013-01-08) | VERSION 6.37 (2012-12-01) | VERSION 6.36 (2012-10-31) | VERSION 6.35 (2012-10-31) | VERSION 6.34 (2012-09-04) | VERSION 6.33 (2012-09-01) | VERSION 6.32 (2012-06-01) | VERSION 6.31 (2012-03-01) | VERSION 6.30 (2012-01-11) | VERSION 6.25 (2011-08-31) | VERSION 6.24 (2011-06-13) | VERSION 6.23 (2011-04-15) | VERSION 6.22 (2011-03-07) | VERSION 6.21 (2011-01-10) | VERSION 6.20 (2010-12-01) | VERSION 6.14 (2010-10-20) | VERSION 6.13 (2010-10-13) | VERSION 6.12 (2010-09-27) | VERSION 6.11 (2010-04-30) | VERSION 6.10 (2010-04-29) | VERSION 6.07 (2010-02-05) | VERSION 6.06 (2010-02-05) | VERSION 6.05 (2009-12-09) | VERSION 6.04 (2009-11-25) | VERSION 6.03 (2009-11-24) | VERSION 6.02 (2009-11-24) | VERSION 6.01 (2009-11-23) | VERSION 6.00 (2009-11-23) | BUGS AND QUESTIONS | SEE ALSO | LICENSE | AUTHOR

Want to link to this manual page? Use this URL:

home | help