1Date::Manip::Changes5(3U)ser Contributed Perl DocumentatiDoante::Manip::Changes5(3)
2
3
4
6 Date::Manip::Changes5 - backward incompatible changes in Date::Manip
7 5.xx
8
10 This describes all backwards incompatible changes made to the
11 Date::Manip module in the 5.xx series of releases.
12
14 For the most part, Date::Manip has remained backward compatible at
15 every release, but occasionally, a change is made which is backward
16 incompatible. These are documented here. Major changes are marked with
17 asterisks.
18
20 (*) Recurrences revisited
21 The behavior of some elements of recurrences changed. These
22 included making the week element (N) refer to the Nth occurrence of
23 a day of the week in the week, month, or year. It is now possible
24 to look at the 3rd Friday of every month for example.
25
26 Changed %x format in UnixDate
27 The %x format used to be equivalent to %D (%m/%d/%y), but it has
28 been modified to use the DateFormat config variable, so it may
29 return %d/%m/%y if a non-US DateFormat is specified.
30
32 Changed path separator for VMS
33 Since ":" is used in some VMS paths, it should not have been used
34 as the path separator. It has been changed to a newline ("\n")
35 character.
36
37 Delta_Format behavior changed
38 The entire delta is exact if no month component is present
39 (previously, no year or month component could be present).
40
42 Removed Date_DaysSince999
43 The Date_DaysSince999 function (deprecated in 5.35) has been
44 removed.
45
47 Deprecated Date_DaysSince999
48 In fixing support for the years 0001-0999, I rewrote
49 Date_DaysSince999 to be Date_DaysSince1BC. The Date_DaysSince999
50 function will be removed.
51
52 (*) Added PathSep variable
53 In order to better support Win32 platforms, I added the PathSep
54 config variable. This will allow the use of paths such as
55 "c:\date" on Win32 platforms. Old config files on Win32 platforms
56 (which were not working correctly in many cases) may not work if
57 they contain path information to the personal config file.
58
60 (*) All Date::Manip variables are no longer accessible
61 Previously, Date::Manip variables were declared using a full
62 package name. Now, they are declared with the my() function. This
63 means that internal variables are no longer accessible outside of
64 the module.
65
66 Week interpretation in business mode deltas
67 A business mode delta containing a week value used to be treated as
68 7 days. A much more likely interpretation of a week is Monday to
69 Monday, regardless of holidays, so this is now the behavior.
70
71 %z UnixDate format
72 The %z UnixDate format used to return the time zone abbreviation.
73 It now returns it as a GMT offset (i.e. -0500). %Z still returns
74 the time zone abbreviation.
75
76 Formats "22nd Sunday" returns the intuitive value
77 The date "22nd Sunday" used to return the Sunday of the 22nd week
78 of the year (which could be the 21st, 22nd, or 23rd Sunday of the
79 year depending on how weeks were defined). Now, it returns the
80 22nd Sunday of the year regardless.
81
82 Separator in DD/YYmmm and mmmDD/YY formats no longer optional
83 Previously, the date "Dec1065" would return Dec 10, 1965. After
84 adding the YYYYmmm and mmmYYYY formats, this was no longer
85 possible. The separator between DD and YY is no longer optional,
86 so
87
88 Dec1065 returns December 1, 1065
89 Dec10/65 returns December 10, 1965
90
91 (*) Date_Cmp added
92 This is not a backwards incompatibility... but is added to help
93 prepare for a future incompatibility. In one of the next versions
94 of Date::Manip, the internal format of the date will change to
95 include time zone information. All date comparisons should be made
96 using Date_Cmp (which currently does nothing more than call the
97 Perl "cmp" command, but which will important when comparing dates
98 that include the time zone).
99
101 Date_Init arguments
102 The old style Date_Init arguments that were deprecated in version
103 5.07 have been removed.
104
105 (*) DateManip.cnf change
106 Changed .DateManip.cnf to Manip.cnf (to get rid of problems on OS's
107 that insist on 8.3 filenames) for all non-Unix platforms (Windows,
108 VMS, Mac). For all Unix platforms, it's still .DateManip.cnf . It
109 will only look in the user's home directory on VMS and Unix.
110
112 (*) Delta format changed
113 A week field has been added to the internal format of the delta.
114 It now reads "Y:M:W:D:H:MN:S" instead of "Y:M:D:H:MN:S".
115
117 Long running processes may give incorrect time zone
118 A process that runs during a time zone change (Daylight Saving Time
119 specifically) may report the wrong time zone. See the UpdateCurrTZ
120 variable for more information.
121
122 UnixDate "%J", "%W", and "%U" formats fixed
123 The %J, %W, and %U will no longer report a week 0 or a week 53 if
124 it should really be week 1 of the following year. They now report
125 the correct week number according to ISO 8601.
126
128 (*) ParseDate formats removed (ISO 8601 compatibility)
129 Full support for ISO 8601 formats was added. As a result, some
130 formats which previously worked may no longer be parsed since they
131 conflict with an ISO 8601 format. These include MM-DD-YY
132 (conflicts with YY-MM-DD) and YYMMDD (conflicts with YYYYMM).
133 MM/DD/YY still works, so the first form can be kept easily by
134 changing "-" to "/". YYMMDD can be changed to YY-MM-DD before
135 being parsed. Whenever parsing dates using dashes as separators,
136 they will be treated as ISO 8601 dates. You can get around this by
137 converting all dashes to slashes.
138
139 (*) Week day numbering
140 The day numbering was changed from 0-6 (sun-sat) to 1-7 (mon-sun)
141 to be ISO 8601 compatible. Weeks start on Monday (though this can
142 be overridden using the FirstDay config variable) and the 1st week
143 of the year contains Jan 4 (though it can be forced to contain Jan
144 1 with the Jan1Week1 config variable).
145
147 UnixDate "%s" format
148 Used to return the number of seconds since 1/1/1970 in the current
149 time zone. It now returns the number of seconds since 1/1/1970
150 GMT. The "%o" format was added which returns what "%s" previously
151 did.
152
153 (*) Internal format of delta
154 The format for the deltas returned by ParseDateDelta changed.
155 Previously, each element of a delta had a sign attached to it
156 (+1:+2:+3:+4:+5:+6). The new format removes all unnecessary signs
157 by default (+1:2:3:4:5:6). Also, because of the way deltas are
158 normalized (see documentation on ParseDateDelta), at most two signs
159 are included. For backwards compatibility, the config variable
160 DeltaSigns was added. If set to 1, all deltas include all 6 signs.
161
162 (*) Date_Init arguments
163 The format of the Date_Init calling arguments changed. The old
164 method
165
166 Date_Init($language,$format,$tz,$convtz);
167
168 is still supported , but this support will likely disappear in the
169 future. Use the new calling format instead:
170
171 Date_Init("var=val","var=val",...);
172
173 NOTE: The old format is no longer supported as of version 5.32 .
174
176 Please refer to the Date::Manip::Problems documentation for information
177 on submitting bug reports or questions to the author.
178
180 Date::Manip - main module documentation
181
183 This script is free software; you can redistribute it and/or modify it
184 under the same terms as Perl itself.
185
187 Sullivan Beck (sbeck@cpan.org)
188
189
190
191perl v5.12.0 2010-04-27 Date::Manip::Changes5(3)