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