NAME
Date::Manip::Migration5to6 - how to upgrade from 5.xx to 6.00
SYNOPSIS
When upgrading from Date::Manip 5.xx to 6.00, a few changes may be necessary to your scripts.
The Date::Manip::Changes5to6 document lists in more detail the ways in which Date::Manip changed, but very few of these do not actually entail changes to your script.
NECESSARY AND SUGGESTED CHANGES
The following changes are necessary, or strongly suggested:
- Reading config files with Date_Init
-
If you use Date_Init to read any config files (if you do business mode calculations, you probably do), you should remove all of the following config variables from your call to Date_Init:
GlobalCnf=FILE PersonalCnf=FILE PathSep=* IgnoreGlobalCnf=* PersonalCnfPath=*
and replace them with:
ConfigFile=FILE
where FILE is now the full path to a config file. Also, the ConfigFile argument should be the first argument in Date_Init.
- Date_ConvTZ
-
The Date_ConvTZ function has changed. It should now take 3 arguments:
$date = Date_ConvTZ($date,$from,$to);
If $from is not given, it defaults to the local time zone. If $to is not given, it defaults to the local time zone.
The date is converted from the $from time zone into the $to time zone. Both should be any time zone (or alias) supported by Date::Manip.
The old $errlevel argument is no longer handled.
- ConvTZ and TZ config variables
-
If you use either the ConvTZ or TZ config variables, you should replace them with either SetDate or ForceDate. See the Date::Manip::Config document for information.
- Other deprecated config variables
-
Most of the deprecated config variables continue to function (though they will be removed at a future date). These include:
GlobalCnf IgnoreGlobalCnf PersonalCnf PersonalCnfPath PathSep TZ Internal
The following variables have been removed. If you use any of them, you may need to modify your scripts:
ConvTZ TodayIsMidnight DeltaSigns UpdateCurrTZ
- today, yesterday, tomorrow
-
If you parse the strings "today", "yesterday", or "tomorrow" in order to get the time now, or 24 hours in the past/future, this will no longer work. These strings now refer strictly to the date.
To get the old behavior, parse the strings "now", "-24:00:00", or "+24:00:00" respectively.
- Do not use Memoize
-
In 5.xx, it was documented that you could use the module Memoize to speed up Date::Manip, especially when sorting dates.
This information is no longer accurate. Using Memoize in conjuction with Date::Manip should have little impact on performance, and may lead to incorrect results, especially if you change config variables.
Please see the Date::Manip::Changes5to6 (GENERAL CHANGES) document for more information.
If you find other instances where it is necessary to modify your script, please email me so that I can add that information to this document.
BUGS AND QUESTIONS
Please refer to the Date::Manip::Problems documentation for information on submitting bug reports or questions to the author.
SEE ALSO
Date::Manip - main module documentation
LICENSE
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Sullivan Beck (sbeck@cpan.org)