1Date::Manip::Changes5(3U)ser Contributed Perl DocumentatiDoante::Manip::Changes5(3)
2
3
4
6 Date::Manip::Changes5 - changes in Date::Manip 5.xx
7
9 This describes the changes made to the Date::Manip module in the 5.xx
10 series of releases. Major changes are marked with asterisks (*).
11
12 For the most part, Date::Manip has remained backward compatible at
13 every release, but occasionally, a change is made which is backward
14 incompatible. These are marked with an exclamation mark (!).
15
18 No changes
19
21 Fully integrated with 6.xx
22 As of Date::Manip 6.14, the 5.xx release is fully integrated into
23 the distribution. Both will be installed automatically and you can
24 switch between them (if you have a recent version of perl). This
25 simplifies the package management process considerably. The
26 downside is that Date::Manip 6.xx will be installed, even if you do
27 not have a recent version of perl and cannot use it.
28
30 Test fixes
31 Fix tests to work better on windows.
32
34 Test fixes
35 Fixed a bug in some of the tests that were causing two tests to
36 fail. JD
37
38 Explicitly set TZ in all tests to avoid some failures (it got left
39 out of a few when it was bundled with 6.10).
40
42 (*) Combined 5.xx and 6.xx
43 As of 6.10, Date-Manip-6.xx will contain both the Date::Manip 5.xx
44 and 6.xx modules. If perl 5.10 or higher is available, the 6.xx
45 version will be installed. For older versions of perl, the 5.xx
46 version will be installed.
47
48 This will allow all of the automatic module tools to work
49 correctly.
50
51 Bug fixes
52 Fixed a bug where years earlier than 1000 AD failed in
53 calculations. John
54
55 Time zone fixes
56 Improved time zone detection. Stepan Kasal
57
58 Documentation fixes
59 Minor improvements. Josef Kreulich
60
62 Bug fixes
63 Date_PrevWorkDay and documentation fix. RT #17005
64
65 I accidentally included a require 5.10 which made Date::Manip not
66 work with earlier versions of perl. Nicholas Riley
67
69 (*) Added time zone abbreviations
70 Date::Manip 5.xx now includes all of the time zone abbreviations
71 from version 6.xx (i.e. all of the abbreviations from the Olsen
72 database).
73
74 Documentation fixes
75 Typo fix. ddascalescu
76
78 Released
79
81 Bug fixes
82 Fix so it won't fail with "Too early to specify a build action"
83
84 CPANTS changes
85 Final changes to meet requirements on http://cpants.perl.org/
86
88 Released
89
91 Bug fixes
92 Fixed bug where the wrong version was in Build.PL
93
94 CPANTS changes
95 Additional changes to meet requirements on http://cpants.perl.org/
96
98 Released
99
101 New features
102 Added "ereyesterday". Ed Avis
103
104 Time zone fixes
105 Added time zones. Damyan Ivanov, Ernesto Hernandez-Novich, Gregor
106 Herrmann, Nicholas Riley, Enrique Verdes, Alexander Litvinov
107
108 Documentation fixes
109 Corrected typo in %G and %L format descriptions. Troy A. Bollinger
110
111 CPANTS changes
112 Added Build.PL and several other things to meet requirements on
113 http://cpants.perl.org/
114
116 Released
117
119 Bug fixes
120 Fixed the version number. John R. Daily
121
122 Fixed a warning when the date command not present. Daniel Hahler
123
124 Fixed a bug where recurrences of the form 0:1*, 0:0:1*, etc.,
125 incorrectly required a base date. Gerry Lawrence
126
127 Fixed a bug where "substring" was used instead of "substr".
128
129 Time zone fixes
130 Fixed a problem in the WEST time zone. Cristina Nunes
131
132 Added time zone. Kimmo R. M. Hovi
133
134 Documentation fixes
135 Revised some of the documentation about Y2K (given that it's in the
136 past) and the 2007 US daylight saving time rule changes.
137
139 Released
140
142 New features
143 Added "overmorrow". Ed Avis
144
145 Bug fixes
146 Fixed bug in parsing ISO 8601 dates. Paul Schinder
147
148 Fixed a bug in UnixDate for years before 1000 AD. Joaquin Ferrero
149
150 Fixed a bug where "today" wasn't case insensitive. Pedro Rodrigues
151
152 Fixed a bug where business/approximate mode wasn't correctly used
153 in DateCalc. Mark T. Kennedy
154
155 Bug in DateCalc where you couldn't pass undef as the errref. Alex
156 Howansky
157
158 Bug where cygwin wasn't using the date command. Rafael Kitover
159
160 Time zone fixes
161 New time zones. Khairil Yusof, Andy Spiegel, Ernesto Rapetti
162
163 New time zones. Robin Norwood
164
165 Fixed Russian time zones. Yuri Kovalenko
166
167 Language fixes
168 Language fix for Danish. Claus Rasmussen
169
170 Language fix for German. Andreas Dembach
171
172 Documentation fixes
173 Minor documentation improvement. Caminati Carlo
174
175 Lots of spelling fixes. Asaf Bartov
176
178 Released
179
181 (!) (*) Recurrences revisited
182 The behavior of some elements of recurrences changed. These
183 included making the week element (N) refer to the Nth occurrence of
184 a day of the week in the week, month, or year. It is now possible
185 to look at the 3rd Friday of every month for example.
186
187 Y-0-WOY-DOW now refers to the WOY'th occurence of DOW instead of
188 the ISO 8601 date Y-W(WOY)-DOY. Also, changed Y-0-WOY-0 to refer to
189 the WOY'th occurence of FirstDay, and got rid of the MW and MD
190 flags. Many other similar changes.
191
192 (!) Changed %x format in UnixDate
193 The %x format used to be equivalent to %D (%m/%d/%y), but it has
194 been modified to use the DateFormat config variable, so it may
195 return %d/%m/%y if a non-US DateFormat is specified.
196
197 New features
198 Added TodayIsMidnight. Reuben Thomas
199
200 Added "approx" mode to Delta_Format and reversed change to default
201 Delta_Format behavior to the one from version 5.40. Based on
202 discussion with Adam Spiers.
203
204 Added %O UnixDate format. Martin Thurn
205
206 Bug fixes
207 Fixed a bug is ParseRecur where values passed in were no overriding
208 old values in the recurrence. Scott Barker (reported to the Debian
209 bugs list).
210
211 Fix for a potential problem in the "0000" time zone. Ed Avis
212
213 Changed taint check to be the one in persec(1). Max Kalika
214
215 Minor fix so DateInit("VAR=") will work. Thomas Bohme
216
217 Fixed a bug where business mode was kept operative even after the
218 calculation was over. Emiliano Bruni
219
220 Minor change to run under cygwin. Niel Markwick
221
222 Minor VMS fix. Martin P.J. Zinser
223
224 Small fix to taint checking. David Worenklein
225
226 Fixed a problem where deltas were getting misinterpreted as dates.
227 Harry Zhu
228
229 Fixed a bug in ParseRecur where "last day of every March" couldn't
230 be done. Andras Karacsony
231
232 Fixed a bug in business mode calculations. Tracy L Sanders
233
234 Sorted all events and dates returned by Events_List. This fixes
235 problems with tests on some versions of perl. Tulan
236
237 Modified %x UnixDate format to use DateFormat config variable.
238 Matt Lyons
239
240 Time zone fixes
241 Fixed a problem with single character military time zones (T and W)
242 conflicting with ISO 8601 T and W dates. Hugo Cornelis
243
244 Small correction to Brazil time zones. John McDonald
245
246 Added time zones. Michael Wood-Vasey, Don Robertson, Michael D.
247 Setzer II, Andres Tarallo
248
249 Language fixes
250 Fixed German translations. Oliver Scheit
251
252 Minor corrections to Italian. Nicola Pedrozzi
253
254 Added the language Catalan. Xavi Drudis
255
256 Documentation fixes
257 Minor doc fixes Reuben Thomas, Ed Avis, Thomas Winzig
258
259 Clarified documentation on %W/%G/%U/%L formats. Joel Savignon
260
262 Test fixes
263 A quick fix to replace a faulty test.
264
266 Released
267 Number changed to distinguish between the development release
268 (5.41) and the official release.
269
271 As of 5.41, odd numbered releases are development (and appear only on
272 my page). Even number releases are official releases submitted to CPAN.
273
274 (!) Changed path separator for VMS
275 Since ":" is used in some VMS paths, it should not have been used
276 as the path separator. It has been changed to a newline ("\n")
277 character.
278
279 (!) Delta_Format behavior changed
280 The entire delta is exact if no month component is present
281 (previously, no year or month component could be present). Due to
282 discussion with Tim Turner.
283
284 Bug fixes
285 Small patch for OpenVMS. Martin P.J. Zinser
286
287 Minor enhancement to ParseRecur. Randy Harmon
288
289 Fixed a bug involving business deltas with negative hours. Ludovic
290 Dubost
291
292 Added some support for NetWare. Chris Shields
293
294 Applied some robustness patches. Ed Avis
295
296 Fixed a bug with years <1000. Jonathan Callahan
297
298 Patch to make Manip.pm -Mstrict clean and better VMS support.
299 Peter Prymmer
300
301 Fixed a bug in "1st Saturday of 2005" format. Maurice Aubrey
302
303 Taint check insecure $ENV{PATH} fix. Ed Avis
304
305 Patch to allow deltas of the form "+ -1 day" to work. Ed Avis
306
307 Removed ampersands from function calls in documentation to fit new
308 perl coding standards. Bill Pollock
309
310 Fixed a bug where spaces in a date caused problems in German (due
311 to the number 1st, 2nd, etc. being 1., 2., etc.). Erik Roderwald
312
313 Time zone fixes
314 Minor bug fix where /etc/time zone not correctly read. Jacek
315 Nowacki
316
317 Made the UnixDate %Z format work with numeric time zones. Michael
318 Isard
319
320 Fixed bug where -HH:MM and +HH:MM were not being accepted as valid
321 time zones. Hank Barta
322
323 Fixed a bug where time zones -HH:MM weren't handled in ISO 8601
324 dates. Ed Avis
325
326 Added some help for VMS time zones. Don Slutz
327
328 Added some checking to the time zone determination. Ed Avis
329
330 Added time zones. David Coppit, Daniel Serodio, Fabian Mandelbaum,
331 Raul Dias, Pedro Melo CUNHA, Roman Y Malakhov, David Whiting,
332 Khaled Mostaguir, Jason King
333
334 Language fixes
335 (*) Replaced all non-ASCII characters with hex representations to
336 avoid the malformed UTF-8 character warnings. Ed Avis
337
338 Added Russian translation. Dapi
339
340 Additions to Dutch translation. Willem
341
342 Patch to French support. Patrick Turmel
343
344 Added Tues/Thur abbreviations. Martin Thurn
345
346 Added Turkish. Giray
347
348 Added Danish. Jesper Dalberg
349 A patch for Danish was send by Jorgen Norgaard previously, and
350 I somehow overlooked it. I apologize for that.
351
352 Test fixes
353 Added runtests.bat contributed by Lon Amick
354
355 Documentation fixes
356 Minor doc fix. Jeremy Tietsort
357
358 Fixed spelling of Veteran's day. Dirk Eddelbuettel
359
360 Documentation improvements. James Olsen
361
363 New features
364 Added support for negative values is "epoch SECS" type dates.
365 Larry Warner
366
367 Added NWD/PWD/DWD flags to ParseRecur. Peter Wyngaard
368
369 Bug fixes
370 Fixed a warning. Edward Avis
371
372 Fixed a bug where the date wasn't rolling over when parsing dates
373 containing only times. James L. Gordon
374
375 Fixed a bug where some times were defaulting to the current time
376 instead of 00:00:00. Edward Avis
377
378 Fixed a bug in Date_NthDayOfYear with decimal days. Olga Polyakov
379
380 Fixed a bug where ParseDateDelta returned a delta if nothing was
381 passed in. Jim Hranicky
382
383 Fixed a bug where noon was case sensitive. Bion Pohl
384
385 Fixed a bug where dateTtime wasn't parsed. Jeremy Brinkley
386
387 Fixed a bug in holiday parsing involving recurrences. Jerry Wilcox
388
389 Fixed a bug where an invalid date passed to Date_IsWorkDay produced
390 an error message. Mark Rejhon
391
392 Fixed a bug where EraseHolidays wasn't taking affect correctly.
393 Chateauvieux Martial
394
395 Fixed a bug where the list produced by Date_Init couldn't be passed
396 back in to Date_Init. James Elson
397
398 Time zone fixes
399 Added `date +%Z` support in Date_TimeZone. Mike Bristow
400
401 Fixed a warning if the time zone is supplied as a +HHMM format.
402 Viola Mauro
403
404 Fixed South African time zone. David Sieborger
405
406 Documentation fixes
407 Added an example. Philip Jones
408
410 Bug fixes
411 `date` uses the user's path unless taint checking is on.
412
413 @::DatePath used instead of @Date::Manip::DatePath incorrectly.
414 Fixed by John Labovitz.
415
416 Fixed a bug where times such as "5 seconds ago" were not changing
417 over time. Matthew R. Sheahan
418
419 Time zone fixes
420 Added /etc/time zone support to &Date_TimeZone. Dirk Eddelbuettel
421
422 Added time zones. Dirk Eddelbuettel, Eli Selinger
423
425 (*) Added Events
426 Added Events section to config file and Events_List routine.
427 Prompted by Greg Schiedler and paid for by Alan Cezar.
428
429 (!) Removed Date_DaysSince999
430 The Date_DaysSince999 function (deprecated in 5.35) has been
431 removed.
432
433 New features
434 Added support for ISO8601 dates of the format dateTtime. Jason
435 Pierce
436
437 Got rid of the "use Cwd" and ENV{PATH} lines which means no more
438 taint problems.
439
440 Bug fixes
441 Fixed "dofw" format to return the day of the current week as
442 documented instead of next week. Dennis Ingram
443
444 Fixed a bug where dates in years 1900, 1800, etc. (but not 2000 or
445 other 400th years) were off by one day in DayOfWeek. Noble Thomas
446
447 Fixed a bug in ParseRecur (2-digit years not treated correctly).
448 Brian Rectanus
449
450 Time zone fixes
451 Added time zones. Nelson Ferreira, David Harper
452
453 Documentation fixes
454 Fixed some typos. Thanks to Alex Kapranoff
455
456 Typo fixed. Jim Hranicky
457
459 Bug fixes
460 Set ENV{PATH} to help with taint checking. Joe Lipson
461
462 Fixed a serious bug where HH:24:00 was broken due to support from
463 24:00:00. Scott Egashira
464
465 Time zone fixes
466 Fixed the sign on the military time zones. John Scott
467
469 New features
470 Added support for 24:00:00 to ParseDate. William H Asquith
471
472 Bug fixes
473 Fixed a bug in ParseRecur. Lewis Tsao
474
475 Fixed a bug is UnixDate (%l format). Jon Hedley
476
477 Fixed a bug in Date_GetNext/Prev. Christoph Haas
478
479 Fixed a bug in Date_IsHoliday. Report and patch by Rolf Beutner
480
481 Fixed a bug in UnixDate. Patch by Kurtis D. Rader
482
483 Rewrote IsInt routine based on discussion with Sean Hunter
484 (approximately 30% faster on a SPARC).
485
486 Time zone fixes
487 Added time zone. Paul Arzul
488
489 Documentation fixes
490 Fixed a documentation problem with Date_ConvTZ. Diab Jerius
491
493 (!) Deprecated Date_DaysSince999
494 In fixing support for the years 0001-0999, I rewrote
495 Date_DaysSince999 to be Date_DaysSince1BC. The Date_DaysSince999
496 function will be removed.
497
498 (*) (!) Added PathSep variable
499 In order to better support Win32 platforms, I added the PathSep
500 config variable. This will allow the use of paths such as
501 "c:\date" on Win32 platforms. Old config files on Win32 platforms
502 (which were not working correctly in many cases) may not work if
503 they contain path information to the personal config file.
504
505 (*) Recurrences now support flags
506 Flags for modifying recurrence dates are now supported.
507
508 (*) Improved holiday support considerably
509 Added support for recurrences and one-year-only holidays (the
510 latter requested first by Vishal Bhatia.
511
512 (*) Date_Init improved
513 Date_Init can now return a list of config variables if called in
514 array context. Based on a suggestion by Matt Tuttle.
515
516 New features
517 Modified Date_GetPrev/Date_GetNext to take $curr=2.
518
519 Now parses the Apache log file format "dd/mmm/yyyy:hh:mm:ss (time
520 zone)". Mark Ferguson
521
522 Added OS/2 support. Michael B. Babakov
523
524 Added Date_IsHoliday routine. Joe Pepin
525
526 Added recurrence support for Easter (first suggested by Abigail).
527
528 Bug fixes
529 Made "epoch" not case sensitive and fixed a bug where it would fail
530 in some languages. Caught because of Iosif's thorough Romanian
531 test file.
532
533 Fixed a problem where "in 5 days/weeks/months" sometimes wouldn't
534 get correctly parsed in other languages. Caught because of Iosif's
535 thorough Romanian test file.
536
537 Fixed a weakness in ParseDateDelta brought out by the Romanian
538 delta test file.
539
540 Fixed a bug causing warnings in the beta version of perl. Patch by
541 Paul Johnson.
542
543 Fixed support for years 0000-0999. Requested by Chris Vaughan
544
545 Several recurrence bug fixes.
546
547 Put all the my'ed global variables in a couple hashes to clean up
548 the namespace and to make a few future enhancements easier to do.
549
550 Fixed a bug where business weeks weren't being used correctly.
551 Qian Miao
552
553 Fixed a serious typo in the DaysSince1BC routine. Qian Miao
554
555 Fixed Veteran's day, added Good Friday (off by default). Peter
556 Chen
557
558 Cleaned up holiday variables and re-did holiday routines.
559
560 Time zone fixes
561 Added time zones. Oded Cohen
562
563 Language fixes
564 Added Romanian support (including 2 test files). Iosif Fettich
565
566 Corrected Swedish translations. Danne Solli
567
568 Some fixes to German translations. Peter Ehrenberg
569
570 Added Italian. Nicola Pedrozzi
571
572 Test fixes
573 Added recurrence test suite
574
575 Documentation fixes
576 Several documentation updates.
577
578 New recurrence documentation.
579
581 (!) (*) All Date::Manip variables are no longer accessible
582 Previously, Date::Manip variables were declared using a full
583 package name. Now, they are declared with the my() function. This
584 means that internal variables are no longer accessible outside of
585 the module. Based on suggestion by Tom Christiansen
586
587 (!) Week interpretation in business mode deltas
588 A business mode delta containing a week value used to be treated as
589 7 days. A much more likely interpretation of a week is Monday to
590 Monday, regardless of holidays, so this is now the behavior.
591
592 (!) %z UnixDate format
593 The %z UnixDate format used to return the time zone abbreviation.
594 It now returns it as a GMT offset (i.e. -0500). %Z still returns
595 the time zone abbreviation. Suggested by Tuc.
596
597 (!) Formats "22nd Sunday" returns the intuitive value
598 The date "22nd Sunday" used to return the Sunday of the 22nd week
599 of the year (which could be the 21st, 22nd, or 23rd Sunday of the
600 year depending on how weeks were defined). Now, it returns the
601 22nd Sunday of the year regardless.
602
603 (!) Separator in DD/YYmmm and mmmDD/YY formats no longer optional
604 Previously, the date "Dec1065" would return Dec 10, 1965. After
605 adding the YYYYmmm and mmmYYYY formats, this was no longer
606 possible. The separator between DD and YY is no longer optional,
607 so
608
609 Dec1065 returns December 1, 1065
610 Dec10/65 returns December 10, 1965
611
612 (*) Date_Cmp added
613 In one of the next versions of Date::Manip, the internal format of
614 the date will change to include time zone information. All date
615 comparisons should be made using Date_Cmp (which currently does
616 nothing more than call the Perl "cmp" command, but which will
617 important when comparing dates that include the time zone).
618
619 Added now in response to a question by Al Sorrell (I should have
620 added it earlier).
621
622 New features
623 Added exact business mode. Ian Duplisse
624
625 Added "mmmYYYY" and "YYYYmmm" formats. As a result, "DDYYmmm" and
626 "mmmDDYY" formats changed to "DD/YYmmm" and "mmmDD/YY" as described
627 above. David Twomey
628
629 Bug fixes
630 Fixed a bug where a date passed in as an array wasn't getting the
631 date removed from the array. Rick Wise
632
633 Added tests for MPE/iX OS. John Testa
634
635 Fixed a bug where WorkDayBeg=8:00 went into an infinite loop. Mark
636 Martinec
637
638 Changed a business week to be the same as an exact week. Abigail
639
640 Fixed a bug where "Sunday week 0" didn't work (only affected week
641 0) Gerald Rinske
642
643 Minor bug (my variable declared twice). Paul J. Schinder
644
645 Fixed a bug where "epoch SECONDS" was getting parsed wrong (for
646 SECONDS which could be interpreted as an ISO-8601 date). N. Thomas
647
648 Fixed a problem where init files were not being read. Mike Reetz
649
650 Time zone fixes
651 At the request of the UN, I added the SAT time zone. :-) Howard
652 Hendler
653
654 Fixed a bug where time zones were converted multiple times if
655 ConvTZ was set and DateCalc called. Steven Hartland
656
657 Language fixes
658 Added Portuguese. Rui Pedro da Silva Leite Pereira
659
660 Documentation fixes
661 A number of typos fixed. Ron Pero
662
664 Bug fixes
665 Fixed a bug where "1 month ago" was no longer working (and added it
666 to the test cases). This broke when I fixed the "-1second" bug in
667 the previous version. A result of this is that a number of
668 "deltas" can be parsed as dates (i.e. &ParseDate("1 hour 20 minutes
669 ago") is equivalent to &DateCalc("now","1 hour 20 minutes ago")).
670 Only text deltas can be used in this way (i.e.
671 &ParseDate("-0:0:0:0:1:20:0") will not work).
672
673 Language fixes
674 Added Spanish support. Bautista Jasso Javier
675
677 (!) Date_Init arguments
678 The old style Date_Init arguments that were deprecated in version
679 5.07 have been removed.
680
681 (!) (*) DateManip.cnf change
682 Changed .DateManip.cnf to Manip.cnf (to get rid of problems on OS's
683 that insist on 8.3 filenames) for all non-Unix platforms (Windows,
684 VMS, Mac). For all Unix platforms, it's still .DateManip.cnf . It
685 will only look in the user's home directory on VMS and Unix.
686
687 New features
688 Added "in N days" and "N days ago" formats. Tony Bowden.
689
690 Added cYYYY format to YYtoYYYY variable. Mark Rejhon.
691
692 Added 2 days/weeks/months later in both ParseDate and ParseDelta
693 (for Dutch support). Abigail.
694
695 Added "Y:M:0*-DOM:0:0:0" to ParseRecur. Jeff Yoak.
696
697 Bug fixes
698 Fixed a bug where the deltas could be off by up to a couple minutes
699 in some rare cases. Herman Horsten.
700
701 Fixed an "uninitialized symbol" warning. Mark D. Anderson.
702
703 Fixed a bug where holidays weren't erased. Jonathan Wright.
704
705 Applied a bug fix from Joe Chapman where the %W/%U UnixDate formats
706 were frequently wrong.
707
708 Several minor fixes and improvements. Abigail.
709
710 Added some VMS support. Charles Lane.
711
712 Fixed a bug which caused a test to fail on some systems. Charles
713 Lane.
714
715 Fixed a bug where "-1second" was treated as a date rather than a
716 delta in DateCalc. Kenneth Ingham
717
718 Added a bit to the Makefile.PL (as it was distributed in the Win32
719 Perl Resource Kit). Murray Nesbitt
720
721 Time zone fixes
722 Allowed time zones of the format STD-#DST-#. Peter Gordon.
723
724 Added time zone support for "+0500 (EST)". Tom Christiansen.
725
726 Restricted time zones parsing to 0000-2359 instead of 0000-9999.
727 Frank Cusack
728
729 Added time zones. W. Phillip Moore, Michael Smith, Samuli
730 Karkkainen
731
732 Language fixes
733 Added Polish support. Ian Wojtowicz.
734
735 Added Dutch support. Abigail.
736
737 Added A.M. and P.M. parsing (not just AM and PM). William W.
738 Arnold.
739
740 Fixed a German initialization problem. Thomas Horster-Moller and
741 Christian Reithmaier
742
743 Documentation fixes
744 Documentation fix. Peter Gordon.
745
746 Minor documentation changes. Yamamoto Hiroshi.
747
748 Added info about the RCS problem. Supplied by Kipp E. Howard.
749
751 New features
752 Added "epoch SECS" format to ParseDateString. Thanks to: Joshua M.
753 Burgin.
754
755 Added a patch by Blair Zajac to make Date_NthDayOfYear work with
756 decimal days.
757
758 Bug fixes
759 Fixed a bug in ParseDateDelta (seems to appear only in 5.005 pre-
760 releases). Found by Larry W. Virden.
761
762 Missed one form in ParseDate. Noted by Tuc.
763
764 Fixed a bug where "15:00:00" couldn't be parsed. Michael Pizolato.
765
766 Split Manip.pm. New files are HISTORY, TODO, Manip.pod.
767
768 Fixed a bug in ParseDateDelta. Antonio Rosella.
769
770 Removed the only occurence of $& (which may speed some things up).
771 Fix by Ken Williams. First suggested by Abigail.
772
773 Fixed an overflow bug in doing date calculations with 2 dates more
774 than 70 years apart. Fix by Vishal Bhatia.
775
776 Fixed a bug where "5:00pm" wasn't always parsed correctly. Thanks
777 to Jim Trocki.
778
779 Fixed a bug in UnixDate (it wouldn't return the correct string for
780 a format who's last character was '0') noted by Ramin V.
781
782 Time zone fixes
783 Relaxed some restrictions on time zones so ISO-8601 dates can use
784 non-ISO-8601 time zones. Noted by John Chambers.
785
786 Fixed a bug in converting time zones with a minutes field (+1030).
787 Found by Paul O.
788
789 Language fixes
790 Some fixes to the French translations by Emmanuel Bataille.
791
792 Added German support. Thanks to Andreas C. Poszvek.
793
794 Documentation fixes
795 Minor documentation fixes. Will Linden.
796
797 Fixed a documentation problem with Date_GetPrev. It was still 0-6
798 instead of 1-7. Thanks to Robert Klep.
799
801 (!) (*) Delta format changed
802 A week field has been added to the internal format of the delta.
803 It now reads "Y:M:W:D:H:MN:S" instead of "Y:M:D:H:MN:S".
804
805 (*) Now handles recurring events
806 Added ParseRecur. First suggested by Chris Jackson.
807
808 New features
809 All routines can now take either a 2- or 4-digit year.
810
811 Added Delta_Format. First suggested by Alan Burlison.
812
813 Added Date_SetDateField. Thanks to Martin Thurn.
814
815 Bug fixes
816 Made the $err argument to DateCalc optional.
817
818 Changed the name of several of the library routines (not the
819 callable ones) to standardize naming.
820
822 (!) Long running processes may give incorrect time zone
823 A process that runs during a time zone change (Daylight Saving Time
824 specifically) may report the wrong time zone. See the UpdateCurrTZ
825 variable for more information.
826
827 (!) UnixDate "%J", "%W", and "%U" formats fixed
828 The %J, %W, and %U will no longer report a week 0 or a week 53 if
829 it should really be week 1 of the following year. They now report
830 the correct week number according to ISO 8601.
831
832 New features
833 Added YYtoYYYY variable. Suggested by Michel van der List.
834
835 Added the UpdateCurrTZ variable to increase speed at the cost of
836 being wrong on the time zone.
837
838 Added British date formats. Thanks to Piran Montford.
839 Monday week
840 today week
841 as well as some US formats
842 in 2 months
843 next month
844
845 Time can now be written 5pm. Piran Montford.
846
847 Added the TomorrowFirst variable and Date_NearestWorkDay function.
848
849 Added UnixDate formats %G and %L to correctly handle the year.
850 Thanks to Samuli Karkkainen.
851
852 Added ForceDate variable. Based on a suggestion by Christian
853 Campbell.
854
855 Bug fixes
856 Now passes Taint checks. Thanks to Mike Fuhr, Ron E. Nelson, and
857 Jason L Tibbitts III.
858
859 Put everything in a "use integer" pragma.
860
861 Added a missing space in the %g UnixDate format. Thanks to Mike
862 Booth.
863
864 Removed all mandatory call to Date_Init (only called when current
865 time is required). Significantly faster.
866
867 Fixed a bug in Date_ConvTZ. Thanks to Patrick K Malone.
868
869 Fixed a bug in Date_IsWorkDay.
870
871 Time zone fixes
872 Fixed some Australian time zones. Kim Davies.
873
874 Language fixes
875 Cleaned up multi-lingual initialization and added the IntCharSet
876 variable.
877
878 Improved French translations. Thanks to Emmanuel Bataille.
879
880 Added "Sept" as a recognized abbreviation. Thanks to Martin Thurn.
881
882 Typo in the French initialization. Thanks to Michel Minsoul.
883
884 Test fixes
885 Fixed the tests to not fail in 1998.
886
887 Documentation fixes
888 Documented how to get around Micro$oft problem. Based on a mail by
889 Patrick Stepp.
890
892 (*) ISO 8601 support
893 ISO 8601 dates are now parsed. This resulted in several other
894 changes specified below.
895
896 (!) (*) ParseDate formats removed
897 As a result of ISO 8601 support, some formats which previously
898 worked may no longer be parsed since they conflict with an ISO 8601
899 format. These include MM-DD-YY (conflicts with YY-MM-DD) and
900 YYMMDD (conflicts with YYYYMM). MM/DD/YY still works, so the first
901 form can be kept easily by changing "-" to "/". YYMMDD can be
902 changed to YY-MM-DD before being parsed. Whenever parsing dates
903 using dashes as separators, they will be treated as ISO 8601 dates.
904 You can get around this by converting all dashes to slashes.
905
906 (!) (*) Week day numbering
907 The day numbering was changed from 0-6 (Sun-Sat) to 1-7 (Mon-Sun)
908 to be ISO 8601 compatible. Weeks start on Monday (though this can
909 be overridden using the FirstDay config variable) and the 1st week
910 of the year contains Jan 4 (though it can be forced to contain Jan
911 1 with the Jan1Week1 config variable).
912
913 New features
914 Several new parsing formats added, including:
915 "Friday" suggested by Rob Perelman
916 "12th" suggested by Rob Perelman
917 "last day of MONTH" suggested by Chadd Westhoff
918
919 Added ParseDateString for speed (and simplicity for modifying
920 ParseDate)
921
922 Added %J and %K formats to UnixDate.
923
924 Added Date_DaysInMonth.
925
926 Bug fixes
927 Reorganized ParseDate more efficiently.
928
929 Fixed some incorrect uses of $in instead of $future in ParseDate.
930 Thanks to Erik Corry.
931
932 Added some speedups (more to come).
933
934 Test fixes
935 Cleaned up testing mechanism a bit and added tests for ISO 8601
936 formats.
937
939 Version 5.11 was never released to CPAN.
940
941 Bug fixes
942 Added one more check for NT perl. Thanks to Rodney Haywood.
943
944 Added some comments to help me keep my personal libraries up-to-
945 date with respect to Date::Manip and vice-versa.
946
947 Fixed a bug which showed up in French dates (though it could happen
948 in other languages as well). Thanks to Georges Martin.
949
950 Fixed a bug in DateCalc. Thanks to Thomas Winzig.
951
952 Removed the "eval" statement from CheckFilePath which causes a suid
953 c wrapper program to die when it calls a Date::Manip script.
954 Thanks to Hank Hughes.
955
956 Fixed a bug in business mode calculations. Thanks to Sterling
957 Swartwout.
958
959 Fixed a bug in which "1997023100:00:00" was accepted as valid.
960 Thanks to Doug Emerald.
961
962 Fixed a bug in which ConvTZ was not used correctly in ParseDate.
963 Re-did portions of Date_ConvTZ. Thanks to Vivek Khera.
964
965 Fixed a bug in business mode calculations. Thanks to Ian Duplisse.
966
967 Added $^X check for Win95 perl. Thanks to Walter Soldierer.
968
969 Missed one call to NormalizeDelta so the output was wrong. Thanks
970 to Brad A. Buikema.
971
972 Time zone fixes
973 Added time zones. Paul Gillingwater, Rosella Antonio, Kang Taewook
974
976 Bug fixes
977 Cleaned up In, At, and On regexps.
978
979 Added 2 checks for MSWin32 (date command and getpw* didn't work).
980 Thanks to Alan Humphrey.
981
982 Fixed two bugs in the DateCalc routines. Pointed out by Kevin
983 Baker.
984
985 Added a check for Windows_95. Thanks to Charlie W.
986
987 Cleaned up checks for MacOS and Microsoft OS's. Hopefully I'm
988 catching everything. Thanks to Charlie Wu for one more check.
989
990 Fixed a typo which broke Time%Date (Date=dd%mmm%yy) format. Thanks
991 to Timothy Kimball.
992
993 Time zone fixes
994 Fixed some problems with how "US/Eastern" type time zones were
995 used. Thanks to Marvin Solomon.
996
997 Test fixes
998 Tests will now run regardless of the time zone you are in.
999
1000 Test will always read the DateManip.cnf file in t/ now.
1001
1002 A failed test will now give slightly more information.
1003
1004 DateManip.cnf file in t/ now sets ALL options to override any
1005 changes made in the Manip.pm file.
1006
1007 Documentation fixes
1008 Added documentation for backwards incompatibilities to POD.
1009
1010 Fixed some problems in POD documentation. Thanks to Marvin
1011 Solomon.
1012
1013 Fixed minor POD error pointed out by John Perkins.
1014
1015 Changed documentation for Date_IsWorkDay (it was quite confusing
1016 using a variable named $time). Thanks to Erik M. Schwartz.
1017
1018 Fixed typo in documentation (midnight misspelled). Thanks to
1019 Timothy Kimball.
1020
1022 Bug fixes
1023 Upgraded to 5.003_23 and fixed one problem associated with it.
1024
1025 Used carp and changed all die's to confess.
1026
1027 Replaced some UNIX commands with perl equivalents (date with
1028 localtime in the tests, pwd with cwd in the path routines).
1029
1030 Cleaned up all routines working with the path.
1031
1032 Test fixes
1033 Tests work again (broke in 5.08). Thanks to Alex Lewin and Michael
1034 Fuhr for running debugging tests.
1035
1037 Bug fixes
1038 (*) Fixed serious bug in ConvTZ pointed out by David Hall.
1039
1040 (*) Modified Date_ConvTZ (and documented it).
1041
1043 Released two patches for 5.07.
1044
1045 Bug fixes
1046 Fixed a bug where a delta component of "-0" would mess things up.
1047 Reported by Nigel Chapman.
1048
1049 Time zone fixes
1050 (*) Can now understand PST8PDT type zones (but only in
1051 Date_TimeZone).
1052
1053 Added lots of time zone abbreviations.
1054
1055 Test fixes
1056 Fixed some tests (good for another year).
1057
1059 (!) UnixDate "%s" format
1060 Used to return the number of seconds since 1/1/1970 in the current
1061 time zone. It now returns the number of seconds since 1/1/1970
1062 GMT. The "%o" format was added which returns what "%s" previously
1063 did.
1064
1065 (!) (*) Internal format of delta
1066 The format for the deltas returned by ParseDateDelta changed.
1067 Previously, each element of a delta had a sign attached to it
1068 (+1:+2:+3:+4:+5:+6). The new format removes all unnecessary signs
1069 by default (+1:2:3:4:5:6). Also, because of the way deltas are
1070 normalized (see documentation on ParseDateDelta), at most two signs
1071 are included. For backwards compatibility, the config variable
1072 DeltaSigns was added. If set to 1, all deltas include all 6 signs.
1073
1074 (!) (*) Date_Init arguments
1075 The format of the Date_Init calling arguments changed. The old
1076 method
1077
1078 Date_Init($language,$format,$tz,$convtz);
1079
1080 is still supported , but this support will likely disappear in the
1081 future. Use the new calling format instead:
1082
1083 Date_Init("var=val","var=val",...);
1084
1085 NOTE: The old format is no longer supported as of version 5.32 .
1086
1087 (*) Added weeks to ParseDateDelta.
1088 Suggested by Mike Bassman. Note that since this is a late
1089 addition, I did not change the internal format of a delta.
1090 Instead, it is added to the days field.
1091
1092 (*) Now reads a config file.
1093 Refer to the Date_Init documentation for details.
1094
1095 (*) Added business mode.
1096 See documentation. Suggested by Mike Bassman.
1097
1098 New features
1099 (*) Modified how deltas are normalized and added the DeltaSigns
1100 config variable.
1101
1102 Added %q format "YYYYMMDDHHMMSS" to UnixDate. Requested by Rob
1103 Perelman. Also added %P format "YYYYMMDDHH:MM:SS".
1104
1105 Added a new config variable to allow you to work with multiple
1106 internal formats (with and without colons). Requested by Rob
1107 Perelman. See Date_Init documentation.
1108
1109 Added the following formats suggested by Andreas Johansson:
1110 Sunday week 22 [in 1996] [at 12:00]
1111 22nd Sunday [in 1996] [at 12:00]
1112 Sunday 22nd week [in 1996] [at 12:00]
1113
1114 Added a new config variable to allow you to define the first day of
1115 the week. See Date_Init documentation.
1116
1117 Added the following formats to ParseDate for convenience (some were
1118 suggested by Mike Bassman):
1119 next/last Friday [at time]
1120 next/last week [at time]
1121 in 2 weeks [at time]
1122 2 weeks ago [at time]
1123 Friday in 2 weeks
1124 in 2 weeks on Friday
1125 Friday 2 weeks ago
1126 2 weeks ago Friday
1127
1128 Added Date_SecsSince1970GMT, moved the %s format to %o (secs since
1129 1/1/70) and added %s format (secs since 1/1/70 GMT). Based on
1130 suggestions by Mark Osbourne. Note this introduces a minor
1131 backward incompatibility described above.
1132
1133 Date_SetTime now works with international time separators.
1134
1135 Added the %g format (%a, %d %b %Y %H:%M:%S %z) for an RFC 1123
1136 date. Suggested by Are Bryne.
1137
1138 Added options to delete existing holidays and ignore global config
1139 file.
1140
1141 Date_GetNext and Date_GetPrev now return the next/prev occurence of
1142 a time as well as a day. Suggested by Are Bryne.
1143
1144 In approximate mode, deltas now come out completely normalized
1145 (only 1 sign). Suggested by Rob Perelman.
1146
1147 Added Date::Manip::InitDone so initialization isn't duplicated.
1148
1149 Added a 3rd internal format to store YYYY-MM-DD HH:MN:SS (iso
1150 8601).
1151
1152 Added a config variable to allow you to work with 24 hour business
1153 days. Suggested by Mike Bassman.
1154
1155 ParseDateDelta now returns "" rather than "+0:0:0:0:0:0" when there
1156 is an error.
1157
1158 Bug fixes
1159 (*) The d:h:mn:s of ALL deltas are normalized.
1160
1161 Huge number of code changes to clean things up.
1162
1163 Subroutines now check to see if 4 digit years are entered.
1164 Suggested by Are Bryne.
1165
1166 Added local($_) to all routines which use $_. Suggested by Rob
1167 Perelman.
1168
1169 Complete rewrite of DateCalc.
1170
1171 Fixed a bug where UnixDate %E format didn't work with single digit
1172 dates. Patch supplied by Jyrgen Nyrgaard.
1173
1174 Fixed a bug where "today" was not converted to the correct time
1175 zone.
1176
1177 Time zone fixes
1178 Fixed bug in Date_TimeZone where it didn't recognize +HHMN type
1179 time zones. Thanks to Are Bryne.
1180
1181 Added WindowsNT check to Date_TimeZone to get around NT's weird
1182 date command. Thanks to Are Bryne.
1183
1184 Fixed typo (CSD instead of CST).
1185
1186 Fixed sign in military time zones making Date::Manip RFC 1123
1187 compliant (except that time zone information is not stored in any
1188 format)
1189
1190 Test fixes
1191 (*) Added test suite!
1192
1194 New features
1195 Added "today at time" formats.
1196
1197 ParseDateDelta now normalizes the delta as well as DateCalc.
1198
1199 Added %Q format "YYYYMMDD" to UnixDate. Requested by Rob Perelman.
1200
1201 Bug fixes
1202 Fixed another two places where a variable was declared twice using
1203 my (thanks to Ric Steinberger).
1204
1205 Fixed a bug where fractional seconds weren't parsed correctly.
1206
1207 Fixed a bug where "noon" and other special times were not parsed in
1208 the "which day of month" formats.
1209
1210 Fixed a minor bug where a few matches were case sensitive.
1211
1212 The command "date +%Z" doesn't work on SunOS machines (and perhaps
1213 others) so 5.05 is effectively broken. 5.06 released to fix this.
1214 Reported by Rob Perelman.
1215
1217 New features
1218 Changed deltas to be all positive or all negative when produced by
1219 DateCalc. Suggested by Steve Braun
1220
1221 Added DateManipVersion routine.
1222
1223 (*) Parses RFC 822 dates (thanks to J.B. Nicholson-Owens for
1224 suggestion).
1225
1226 Parses ctime() date formats (suggested by Matthew R. Sheahan).
1227
1228 Now supports times like "noon" and "midnight".
1229
1230 Bug fixes
1231 Fixed bug introduced in 5.04 when default day set to 1. When no
1232 date given, have day default to today rather than 1. It only
1233 defaults to one if a partial date is given.
1234
1235 Fixed bug where Date_DaysSince999 returned the wrong value (the
1236 error did not affect any other functions in Date::Manip due to the
1237 way it was called and the nature of the error). Pointed out by
1238 Jason Baker
1239
1240 Dates with commas in them are now read properly.
1241
1242 Fixed two places where a variable was declared twice using my
1243 (thanks to Ric Steinberger).
1244
1245 Hopefully fixed installation problems.
1246
1247 Got rid of the last (I think) couple of US specific strings.
1248
1249 Fixed bug in Date_SetTime (didn't work with $hr,$min,$sec < 10).
1250
1251 Added ModuloAddition routine and simplified DateCalc.
1252
1253 Time zone fixes
1254 (*) Now supports time zones.
1255
1256 (*) Added Date_ConvTZ routine for time zone support.
1257
1258 Date_TimeZone will now also check `date '+%Z'` suggested by Aharon
1259 Schkolnik.
1260
1261 Language fixes
1262 Added Swedish translation (thanks to Andreas Johansson
1263
1264 The time separators are now language specific so the French can
1265 write "10h30" and the Swedes can write "10.30". Suggested by
1266 Andreas Johansson.
1267
1268 Documentation fixes
1269 Fixed bad mistake in documentation (use Date::Manip instead of use
1270 DateManip) pointed out by tuc@valhalla.stormking.com
1271
1272 Minor improvements to documentation.
1273
1274 Documented the 'sort within a sort' bug.
1275
1276 Fixed type in documentation/README pointed out by James K. Bence.
1277
1279 New features
1280 Added support for fractional seconds (as generated by Sybase).
1281 They are parsed and ignored. Added by Kurt Stephens
1282
1283 Bug fixes
1284 Fixed bugs reported by J.B. Nicholson-Owens
1285 "Tue Jun 25 1996" wasn't parsed correctly (regexp was case
1286 sensitive)
1287 full day names not parsed correctly
1288 the default day in ErrorCheck should be 1, NOT currd since when
1289 currd>28, it may not be a valid date for the month
1290
1292 Bug fixes
1293 Fixed a couple of bugs in UnixDate.
1294
1295 Declared package variables to avoid warning "Identifier XXX used
1296 only once". Thanks to Peter Bray for the suggestion.
1297
1299 New features
1300 (*) Added some internationalization (most of the routines had to be
1301 modified at least slightly)
1302
1303 Bug fixes
1304 Fixed a bug where repeated calls to ParseDate("today") was not
1305 reset
1306
1307 Replaced the %Date::Manip::Date variable with a large number of
1308 other, more flexible variables
1309
1310 Rewrote the Init routine
1311
1313 New features
1314 Added %F format to UnixDate. Rob Perelman
1315
1316 Added "Date at Time" types
1317
1318 Weekdays can be entered and checked
1319
1320 Two digit years fall in the range CurrYear-89 to CurrYear+10
1321
1322 Bug fixes
1323 Reworked a number of the ParseDate regular expressions to make them
1324 more flexible
1325
1326 Documentation fixes
1327 Fixed a typo (Friday misspelled Fridat). Rob Perelman
1328
1329 Documentation problem for \$err in DateCalc. Rob Perelman
1330
1332 (*) Switched to a package.
1333 Patch supplied by Peter Bray:
1334 renamed to Date::Manip
1335 changed version number to 2 decimal places
1336 added POD documentation Thanks to Peter Bray, Randal Schwartz,
1337 Andreas Koenig for suggestions
1338
1339 Bug fixes
1340 Fixed a bug pointed out by Peter Bray where it was complaining of
1341 an uninitialized variable.
1342
1344 New features
1345 Added "which dofw in mmm" formats to ParseDate
1346
1347 Bug fixes
1348 Added a bugfix of Adam Nevins where "12:xx pm" used to be parsed
1349 "24:xx:00".
1350
1352 New features
1353 UnixDate will now return a scalar or list depending on context
1354
1355 ParseDate/ParseDateDelta will now take a scalar, a reference to a
1356 scalar, or a reference to an array
1357
1358 (*) Simple time zone handling
1359
1360 (*) Added Date_SetTime, Date_GetPrev, Date_GetNext
1361
1362 Bug fixes
1363 Added copyright notice (requested by Tim Bunce)
1364
1366 New features
1367 (*) Added DateCalc
1368
1369 Bug fixes
1370 Changed %DATE_ to %DateManip::Date
1371
1372 (*) Rewrote ParseDateDelta
1373
1375 (*) First public release
1376
1377 New features
1378 Added time first formats to ParseDate
1379
1380 Bug fixes
1381 (*) Switched to perl 5
1382
1383 Cleaned up ParseDate, ParseDateDelta
1384
1386 New features
1387 Added today/tomorrows/etc. formats
1388
1389 (*) Added UnixDate
1390
1391 (*) Added ParseDateDelta
1392
1393 Bug fixes
1394 Added %DATE_ global variable to clean some stuff up
1395
1396 Simplified several routines
1397
1399 New features
1400 Included ideas from Time::ParseDate (David Muir Sharnoff)
1401
1402 Included ideas from date.pl 3.2 (Terry McGonigal)
1403
1404 (*) Added seconds to ParseDate
1405
1406 Bug fixes
1407 Made error checking much nicer
1408
1410 New features
1411 Added a few date formats
1412
1413 Bug fixes
1414 Made months case insensitive
1415
1417 New features
1418 Added leap year checking
1419
1420 Both "Feb" and "February" formats available
1421
1423 (*) Initial release
1424 Though not released to the public, the initial released combined
1425 routines from several scripts into one library.
1426
1428 Please refer to the Date::Manip::Problems documentation for information
1429 on submitting bug reports or questions to the author.
1430
1432 Date::Manip - main module documentation
1433
1435 This script is free software; you can redistribute it and/or modify it
1436 under the same terms as Perl itself.
1437
1439 Sullivan Beck (sbeck@cpan.org)
1440
1441
1442
1443perl v5.10.1 2011-12-07 Date::Manip::Changes5(3)