1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899
|
#######################################################################
# HISTORY
#######################################################################
Important changes marked with ***.
Backwards incompatabilities are now documented more fully in the
Date::Manip::Changes5
Date::Manip::Changes5to6
Date::Manip::Changes6
documents.
Written by:
Sullivan Beck (sbeck@cpan.org)
Any suggestions, bug reports, or donations :-) should be sent to me.
Version 1.0 1995-01-20
*** Combined all routines into one library
Version 1.1 1995-02-08
Added leap year checking
Both "Feb" and "February" formats available
Version 1.2 1995-03-31
Made months case insensitive
Added a few date formats
Version 2.0 1995-04-17
Included ideas from packages
Time::ParseDate (David Muir Sharnoff)
date.pl 3.2 (Terry McGonigal)
Made error checking much nicer
*** Added seconds to ParseDate
Version 3.0 1995-05-03
Added %DATE_ global variable to clean some stuff up
Simplified several routines
Added today/tomorrows/etc. formats
*** Added UnixDate
*** Added ParseDateDelta
Version 4.0 1995-08-13
*** Switched to perl 5
Cleaned up ParseDate, ParseDateDelta
Added time first formats to ParseDate
*** First public release
Version 4.1 1995-10-18
Changed %DATE_ to %DateManip::Date
*** Rewrote ParseDateDelta
*** Added DateCalc
Version 4.2 1995-10-23
UnixDate will now return a scalar or list depending on context
ParseDate/ParseDateDelta will now take a scalar, a reference to a
scalar, or a reference to an array
Added copyright notice (requested by Tim Bunce)
*** Simple timezone handling
*** Added Date_SetTime, Date_GetPrev, Date_GetNext
Version 4.3 1995-10-26
Added "which dofw in mmm" formats to ParseDate
Added a bugfix of Adam Nevins where "12:xx pm" used to be parsed
"24:xx:00".
Version 5.00 1996-06-21
*** Switched to a package (patch supplied by Peter Bray
o renamed to Date::Manip
o changed version number to 2 decimal places
o added POD documentation
Thanks to Peter Bray, Randal Schwartz, Andreas Koenig for suggestions
Fixed a bug pointed out by Peter Bray where it was complaining of
an uninitialized variable.
Version 5.01 1996-06-24
Fixes suggested by Rob Perelman
o Fixed a typo (Friday misspelled Fridat)
o Documentation problem for \$err in DateCalc
o Added %F formtat to UnixDate
Reworked a number of the ParseDate regular expressions to make
them more flexible
Added "Date at Time" types
*** Weekdays can be entered and checked
Two digit years fall in the range CurrYear-89 to CurrYear+10
Version 5.02 1996-07-15
Fixed a bug where repeated calls to ParseDate("today") was not reset
Replaced the %Date::Manip::Date variable with a large number of
other, more flexible variables
*** Added some internationalization (most of the routines had to be
modified at least slightly)
Rewrote the Init routine
Version 5.03 1996-07-17
Fixed a couple of bugs in UnixDate.
Declared package variables to avoid warning "Identifier XXX used
only once". Thanks to Peter Bray for the suggestion.
Version 5.04 1996-08-01
Added support for fractional seconds (as generated by Sybase). They
are parsed and ignored. Added by Kurt Stephens
Fixed bugs reported by J.B. Nicholson-Owens
o "Tue Jun 25 1996" wasn't parsed correctly (regexp was case
sensitive)
o full day names not parsed correctly
o the default day in ErrorCheck should be 1, NOT currd since when
currd>28, it may not be a valid date for the month
Version 5.05 1996-10-11
Added Swedish translation (thanks to Andreas Johansson
Fixed bad mistake in documentation (use Date::Manip instead of
use DateManip) pointed out by tuc@valhalla.stormking.com
Fixed bug introduced in 5.04 when default day set to 1. When no
date given, have day default to today rather than 1. It only
defaults to one if a partial date is given.
Changed deltas to be all positive or all negative when produced by
DateCalc. Suggested by Steve Braun
Fixed bug where Date_DaysSince999 returned the wrong value (the
error did not affect any other functions in Date::Manip due to
the way it was called and the nature of the error). Pointed out
by Jason Baker
Minor improvements to documentation.
Documented the 'sort within a sort' bug.
Added DateManipVersion routine.
Dates with commas in them are now read properly.
*** Now supports timezones.
*** Parses RFC 822 dates (thanks to J.B. Nicholson-Owens for suggestion).
Parses ctime() date formats (suggested by Matthew R. Sheahan).
*** Added Date_ConvTZ routine for timezone support.
Fixed two places where a variable was declared twice using my (thanks
to Ric Steinberger).
Hopefully fixed installation problems.
Now supports times like "noon" and "midnight".
Got rid of the last (I think) couple of US specific strings.
The time separators are now language specific so the French can
write "10h30" and the Swedes can write "10.30". Suggested by
Andreas Johansson.
Fixed type in documentation/README pointed out by James K. Bence.
Fixed bug in Date_SetTime (didn't work with $hr,$min,$sec < 10).
Added ModuloAddition routine and simplified DateCalc.
Date_TimeZone will now also check `date '+%Z'` suggested by
Aharon Schkolnik.
Version 5.06 1996-10-25
Fixed another two places where a variable was declared twice using my
(thanks to Ric Steinberger).
Fixed a bug where fractional seconds weren't parsed correctly.
Fixed a bug where "noon" and other special times were not parsed
in the "which day of month" formats.
Added "today at time" formats.
Fixed a minor bug where a few matches were case sensitive.
ParseDateDelta now normalizes the delta as well as DateCalc.
Added %Q format "YYYYMMDD" to UnixDate. Requested by Rob Perelman.
The command "date +%Z" doesn't work on SunOS machines (and perhaps
others) so 5.05 is effectively broken. 5.06 released to fix this.
Reported by Rob Perelman.
Version 5.07 1996-12-10
Huge number of code changes to clean things up.
Added %q format "YYYYMMDDHHMMSS" to UnixDate. Requested by Rob Perelman.
Also added %P format "YYYYMMDDHH:MM:SS".
Added a new config variable to allow you to work with multiple internal
formats (with and without colons). Requested by Rob Perelman.
See Date_Init documentation.
Added the following formats suggested by Andreas Johansson:
sunday week 22 [in 1996] [at 12:00]
22nd sunday [in 1996] [at 12:00]
sunday 22nd week [in 1996] [at 12:00]
*** Added weeks to ParseDateDelta. Suggested by Mike Bassman.
Note that since this is a late addition, I did not change the
internal format of a delta. Instead, it is added to the days
field.
Added a new config variable to allow you to define the first day of
the week. See Date_Init documentation.
Added the following formats to ParseDate for conveniance (some were
suggested by Mike Bassman):
next/last friday [at time]
next/last week [at time]
in 2 weeks [at time]
2 weeks ago [at time]
Friday in 2 weeks
in 2 weeks on friday
Friday 2 weeks ago
2 weeks ago friday
Added Date_SecsSince1970GMT, moved the %s format to %o (secs since 1/1/70)
and added %s format (secs since 1/1/70 GMT). Based on suggestions by
Mark Osbourne. Note this introduces a minor backward incompatibility!
Date_SetTime now works with international time separators.
*** Changed how Date_Init arguments work.
Fixed bug in Date_TimeZone where it didn't recognize +HHMN type time
zones. Thanks to Are Bryne.
Added the %g format (%a, %d %b %Y %H:%M:%S %z) for an RFC 1123 date.
Suggested by Are Bryne.
Added WindowsNT check to Date_TimeZone to get around NT's weird date
command. Thanks to Are Bryne.
Subroutines now check to see if 4 digit years are entered. Suggested
by Are Bryne.
Fixed typo (CSD instead of CST).
*** Now reads a config file.
Added options to delete existing holidays and ignore global config file.
*** The d:h:mn:s of ALL deltas are normalized.
Added local($_) to all routines which use $_. Suggested by Rob
Perelman.
Date_GetNext and Date_GetPrev now return the next/prev occurence of a
time as well as a day. Suggested by Are Bryne.
*** Complete rewrite of DateCalc.
In approximate mode, deltas now come out completely normalized (only 1
sign). Suggested by Rob Perelman.
*** Added business mode. See documentation. Suggested by Mike Bassman.
*** Modified how deltas are normalized and added the DeltaSigns config
variable.
*** Added test suite!
Fixed sign in military timezones making Date::Manip RFC 1123 compliant
(except that timezone information is not stored in any format)
Added Date::Manip::InitDone so initialization isn't duplicated.
Added a 3rd internal format to store YYYY-MM-DD HH:MN:SS (iso 8601).
Fixed a bug where UnixDate %E format didn't work with single digit
dates. Patch supplied by J\yrgen N\yrgaard.
Added a config variable to allow you to work with 24 hour business
days. Suggested by Mike Bassman.
ParseDateDelta now returns "" rather than "+0:0:0:0:0:0" when there is
an error.
Fixed a bug where "today" was not converted to the correct timezone.
Version 5.07p2 1997-01-03
*** Added lots of timezone abbreviations.
*** Can now understand PST8PDT type zones (but only in Date_TimeZone).
Fixed some tests (good for another year).
Fixed a bug where a delta component of "-0" would mess things up.
Reported by Nigel Chapman.
Released two patches for 5.07.
Version 5.08 1997-01-24
*** Fixed serious bug in ConvTZ pointed out by David Hall.
*** Modified Date_ConvTZ (and documented it).
Released 5.08 to get this and the other two patches into circulation.
Version 5.09 1997-01-28
Upgraded to 5.003_23 and fixed one problem associated with it.
Used carp and changed all die's to confess.
Replaced some UNIX commands with perl equivalents (date with localtime
in the tests, pwd with cwd in the path routines).
Cleaned up all routines working with the path.
Tests work again (broke in 5.08). Thanks to Alex Lewin and Michael Fuhr
for running debugging tests.
Version 5.10 1997-03-19
Tests will now run regardless of the timezone you are in.
Test will always read the DateManip.cnf file in t/ now.
A failed test will now give slightly more information.
Cleaned up In, At, and On regexps.
DateManip.cnf file in t/ now sets ALL options to override any changes
made in the Manip.pm file.
Added documentation for backwards incompatibilities to POD.
Added 2 checks for MSWin32 (date command and getpw* didn't work). Thanks
to Alan Humphrey.
Fixed two bugs in the DateCalc routines. Pointed out by Kevin Baker.
Fixed some problems in POD documentation. Thanks to Marvin Solomon.
Fixed some problems with how "US/Eastern" type timezones were used.
Thanks to Marvin Solomon.
Fixed minor POD error pointed out by John Perkins.
Added a check for Windows_95. Thanks to Charlie W.
Changed documentation for Date_IsWorkDay (it was quite confusing using
a variable named $time). Thanks to Erik M. Schwartz.
Cleaned up checks for MacOS and Microsoft OS's. Hopefully I'm catching
everything. Thanks to Charlie Wu for one more check.
Fixed typo in docs (midnight mispelled). Thanks to Timothy Kimball.
Fixed a typo which broke Time%Date (Date=dd%mmm%yy) format. Thanks to
Timothy Kimball.
Version 5.11 1997-08-07
Added one more check for NT perl. Thanks to Rodney Haywood.
Added METDST timezone. Thanks to Paul Gillingwater.
Added CEST timezone. Thanks to Rosella Antonio.
Added some comments to help me keep my personal libraries up-to-date
with respect to Date::Manip and vice-versa.
Fixed a bug which showed up in French dates (though it could happen in
other languages as well). Thanks to Georges Martin.
Added ROK timezone. Thanks to Kang Taewook.
Fixed a bug in DateCalc. Thanks to Thomas Winzig.
Removed the "eval" statement from CheckFilePath which causes a suid
c wrapper program to die when it calls a Date::Manip script.
Thanks to Hank Hughes.
Fixed a bug in business mode calculations. Thanks to Sterling Swartwout.
Fixed a bug in which "1997023100:00:00" was accepted as valid. Thanks
to Doug Emerald.
Fixed a bug in which ConvTZ was not used correctly in ParseDate. Redid
portions of Date_ConvTZ. Thanks to Vivek Khera.
Fixed a bug in business mode calculations. Thanks to Ian Duplisse.
Added $^X check for Win95 perl. Thanks to Walter Soldierer.
Missed one call to NormalizeDelta so the output was wrong. Thanks to
Brad A. Buikema.
Version 5.11 was never released to CPAN.
Version 5.20 1997-10-12
Reorganized ParseDate more efficiently.
Fixed some incorrect uses of $in instead of $future in ParseDate.
Thanks to Erik Corry.
Added formats:
*** All ISO 8601 formats
"Friday" suggested by Rob Perelman
"12th" suggested by Rob Perelman
12th (12th day of current month)
"last day of MONTH" suggested by Chadd Westhoff
Added ParseDateString for speed (and simplicity for modifying ParseDate)
Changed all week handling to meet ISO 8601 standards.
Added %J and %K formats to UnixDate.
Added some speedups (more to come).
Cleaned up testing mechanism a bit and added tests for ISO 8601 formats.
Added Date_DaysInMonth.
Version 5.21 1998-01-15
Documented how to get around Micro$oft problem. Based on a mail by
Patrick Stepp.
Now passes Taint checks. Thanks to Mike Fuhr, Ron E. Nelson, and
Jason L Tibbitts III.
Put everything in a "use integer" pragma.
Added YYtoYYYY variable. Suggested by Michel van der List.
Added a missing space in the %g UnixDate format. Thanks to Mike Booth.
Fixed some Australian time zones. Kim Davies.
Removed all mandatory call to Date_Init (only called when current time
is required). Significantly faster.
Added the UpdateCurrTZ variable to increase speed at the cost of being
wrong on the timezone.
Cleaned up multi-lingual initialization and added the IntCharSet
variable.
Improved French translations. Thanks to Emmanuel Bataille.
Fixed a bug in Date_ConvTZ.
Fixed another bug in Date_ConvTZ. Thanks to Patrick K Malone.
Added "Sept" as a recognized abbreviation. Thanks to Martin Thurn.
Added British date formats. Thanks to Piran Montford.
monday week
today week
as well as some US formats
in 2 months
next month
Time can now be written 5pm. Piran Montford.
Added the TomorrowFirst variable and Date_NearestWorkDay function.
Fixed a bug in Date_IsWorkDay.
Typo in the French initialization. Thanks to Michel Minsoul.
Fixed how %W and %U was incorrectly stored between weeks 52,53,01.
They now return the correct week (no more week 00). Added UnixDate
formats %G and %L to correctly handle the year. Thanks to Samuli
Karkkainen.
Added ForceDate variable. Based on a suggestion by Christian Campbell.
Fixed the tests to not fail in 1998.
Version 5.30 1998-01-21
*** Added a week field to deltas.
All routines can now take either a 2- or 4-digit year.
Added Delta_Format. First suggested by Alan Burlison.
Added Date_SetDateField. Thanks to Martin Thurn.
Made the $err argument to DateCalc optional.
Changed the name of several of the library routines (not the callable
ones) to standardize naming.
*** Added ParseRecur. First suggested by Chris Jackson.
Version 5.31 1998-04-08
Fixed a bug in ParseDateDelta (seems to appear only in 5.005 prereleases).
Found by Larry W. Virden.
Some fixes to the French translations by Emmanuel Bataille.
Missed one form in ParseDate. Noted by Tuc.
Fixed a bug where "15:00:00" couldn't be parsed. Michael Pizolato.
Relaxed some restrictions on timezones so ISO-8601 dates can use
non-ISO-8601 timezones. Noted by John Chambers.
Added "epoch SECS" format to ParseDateString. Thanks to: Joshua M. Burgin.
Split Manip.pm. New files are HISTORY, TODO, Manip.pod.
Fixed a bug in ParseDateDelta. Antonio Rosella.
Minor documentation fixes. Will Linden.
Added German support. Thanks to Andreas C. Poszvek.
Removed the only occurence of $& (which may speed some things up). Fix
by Ken Williams. First suggested by Abigal.
Fixed a bug in converting timezones with a minutes field (+1030). Found
by Paul O.
Fixed an overflow bug in doing date calculations with 2 dates more than
70 years apart. Fix by Vishal Bhatia.
Added a patch by Blair Zajac to make Date_NthDayOfYear work with decimal
days.
Fixed a bug where "5:00pm" wasn't always parsed correctly. Thanks to
Jim Trocki.
Fixed a bug in UnixDate (it wouldn't return the correct string for a
format who's last character was '0') noted by Ramin V.
Fixed a documentation problem with Date_GetPrev. It was still 0-6
instead of 1-7. Thanks to Robert Klep.
Version 5.32 1998-08-17
Added "in N days" and "N days ago" formats. Tony Bowden.
Added cYYYY format to YYtoYYYY variable. Mark Rejhon.
Allowed timezones of the format STD-#DST-#. Peter Gordon.
Documentation fix. Peter Gordon.
Added Hong Kong, Singapore, and Korean timezones. W. Phillip Moore.
Fixed a bug where the deltas could be off by up to a couple minutes in
some rare cases. Herman Horsten.
Minor documentation changes. Yamamoto Hiroshi.
Fixed an "uninitialized symbol" warning. Mark D. Anderson.
Added timezone support for "+0500 (EST)". Tom Christiansen.
Removed support for oldstyle Date_Init arguments.
Fixed a bug where holidays were't erased. Jonathan Wright.
Added GB timezone. Michael Smith.
Added Polish support. Ian Wojtowicz.
Applied a bug fix from Joe Chapman where the %W/%U UnixDate formats
were frequently wrong.
Added Dutch support. Abigal.
Added 2 days/weeks/months later in both ParseDate and ParseDelta (for
Dutch support). Abigal.
Several minor fixes and improvements. Abigal.
Added some VMS support. Charles Lane.
Fixed a bug which caused a test to fail on some systems. Charles Lane.
*** Changed DateManip.cnf to Manip.cnf (to get rid of problems with
certain OS's that can't handle filenames that aren't 8.3 characters)
for ALL non-Unix platforms (Wintel, VMS, Mac). For all Unix platforms,
it's still .DateManip.cnf . Also, it will only look in a users home
directory on VMS and Unix.
Added info about the RCS problem. Supplied by Kipp E. Howard.
Added "Y:M:0*-DOM:0:0:0" to ParseRecur. Jeff Yoak.
Added A.M. and P.M. parsing (not just AM and PM). William W. Arnold.
Added timezone. Samuli Karkkainen
Fixed a bug where "-1second" was treated as a date rather than a delta
in DateCalc. Kenneth Ingham
Restricted timzeones parsing to 0000-2359 instead of 0000-9999.
Frank Cusack
Added a bit to the Makefile.PL (as it was distributed in the Win32
Perl Resource Kit). Murray Nesbitt
Fixed a German initialization problem. Thomas Horster-Moller
and Christian Reithmaier
Version 5.33 1998-08-20
Added Spanish support. Bautista Jasso Javier
Fixed a bug where "1 month ago" was no longer working (and added it
to the test cases). This broke when I fixed the "-1second" bug
above. A result of this is that a number of "deltas" can be parsed
as dates (i.e. &ParseDate("1 hour 20 minutes ago") is equivalent to
&DateCalc("now","1 hour 20 minutes ago")). Only text deltas can
be used in this way (i.e. &ParseDate("-0:0:0:0:1:20:0") will not
work).
Version 5.34 1999-04-13
Fixed a bug where a date passed in as an array wasn't getting the
date removed from the array. Rick Wise
Added tests for MPE/iX OS. John Testa
Fixed a bug where WorkDayBeg=8:00 went into an infinite loop.
Mark Martinec
A number of typos fixed. Ron Pero
Added exact business mode. Ian Duplisse
Changed a business week to be the same as an exact week. Abigal
Added Portuguese. Rui Pedro da Silva Leite Pereira
*** Switched all variables from Date::Manip::VAR to my(VAR). This means
no more access to Date::Manip internals. Based on suggestion by
Tom Christiansen
Changed %z UnixDate format to return the GMT offset. Tuc
The format "22nd sunday" now returns the real 22nd sunday, NOT the sunday
of week 22 (based on whatever definition of week 1 is active).
Fixed a bug where "sunday week 0" didn't work (only affected week 0)
Gerald Rinske
Minor bug (my variable declared twice). Paul J. Schinder
Added "mmmYYYY" and "YYYYmmm" formats. As a result, "DDYYmmm" and
"mmmDDYY" formats changed to "DD/YYmmm" and "mmmDD/YY". David Twomey
*** Added Date_Cmp routine. This will work even after the new internal
format goes into affect. Added now in response to a question by
Al Sorrell (I should have added it earlier).
At the request of the UN, I added the SAT timezone. :-) Howard Hendler
Fixed a bug where "epoch SECONDS" was getting parsed wrong (for SECONDS
which could be interpreted as an ISO-8601 date). N. Thomas
Fixed a problem where init files were not being read. Mike Reetz
Fixed a bug where timezones were converted multiple times if ConvTZ was
set and DateCalc called. Steven Hartland
Version 5.35 1999-07-06
Added Romanian support (including 2 test files). Iosif Fettich
Made "epoch" not case sensitive and fixed a bug where it would fail in
some languages. Caught because of Iosif's thorough Romanian test file.
Fixed a problem where "in 5 days/weeks/months" sometimes wouldn't get
correctly parsed in other languages. Caught because of Iosif's
thorough Romanian test file.
Fixed a weakness in ParseDateDelta brought out by the Romanian delta test
file.
Corrected Swedish translations. Danne Solli
Documentation updates.
Modified Date_GetPrev/Date_GetNext to take $curr=2.
Now parses the Apache log file format "dd/mmm/yyyy:hh:mm:ss (time zone)".
Mark Ferguson
Added OS/2 support. Michael B. Babakov
Fixed a bug causing warnings in the beta version of perl. Patch by
Paul Johnson.
Some fixes to German translations. Peter Ehrenberg
Deprecated the function Date_DaysSince999. It's been replaced by
Date_DaysSince1BC. It will disappear in the next version.
Fixed support for years 0000-0999. Requested by Chris Vaughan
Many changes to recurrences including:
*** Flags are now supported
Some bug fixes and documentation changes
Added test suite
Added support for Easter (first suggested by Abigal).
Fixed a bug where base/date0/date1 not treated correctly
Put all the my'ed global variables in a couple hashes to clean up the
namespace and to make a few future enhancements easier to do.
Added Italian. Nicola Pedrozzi
Added Israel timezones. Oded Cohen
Fixed a bug where business weeks weren't being used correctly. Qian Miao
Improved holiday support considerably:
*** Added support for recurrences and one-year-only holidays (the latter
requested first by Vishal Bhatia.
Cleaned up holiday variables and redid holiday routines.
Fixed Veteran's day, added Good Friday (off by default). Peter Chen
Fixed a serious typo in the DaysSince1BC routine. Qian Miao
Added Date_IsHoliday routine. Joe Pepin
*** Added the PathSep config variable to improve support for non-Unix paths.
*** Date_Init can now return a list of config variables if called in
array context. Based on a suggestion by Matt Tuttle.
Version 5.36 2000-01-21
Fixed a bug in ParseRecur. Lewis Tsao
Fixed a documentation problem with Date_ConvTZ. Diab Jerius
Fixed a bug is UnixDate (%l format). Jon Hedley
Fixed a bug in Date_GetNext/Prev. Christoph Haas
Fixed a bug in Date_IsHoliday. Report and patch by Rolf Beutner
Fixed a bug in UnixDate. Patch by Kurtis D. Rader
Added support for 24:00:00 to ParseDate. William H Asquith
Added SAST timezone. Paul Arzul
Rewrote IsInt routine based on discussion with Sean Hunter
(approximately 30% faster on a SPARC).
Version 5.37 2000-02-14
Fixed the sign on the military timezones. John Scott
Set ENV{PATH} to help with taint checking. Joe Lipson
Fixed a serious bug where HH:24:00 was broken due to support from 24:00:00.
Scott Egashira
Version 5.38 2000-05-23
*** Added Events section to config file and Events_List routine. Prompted
by Greg Schiedler and paid for by Alan Cezar.
Added support for ISO8601 dates of the format dateTtime. Jason Pierce
Fixed "dofw" format to return the day of the current week as documented
instead of next week. Dennis Ingram
Fixed some typos. Thanks to Alex Kapranoff
Fixed a bug where dates in years 1900, 1800, etc. (but not 2000 or other
400th years) were off by one day in DayOfWeek. Noble Thomas
Typo fixed. Jim Hranicky
Added the WEST timezone. Nelson Ferreira
Fixed a bug in ParseRecur (2-digit years not treated correctly).
Brian Rectanus
Added MEZ/MESZ timezones. David Harper
Got rid of the "use Cwd" and ENV{PATH} lines which means no more taint
problems.
Removed Date_DaysSince999.
Version 5.39 2000-06-27
Added /etc/timezone support to &Date_TimeZone. Dirk Eddelbuettel
Added Canada/Eastern timezone. Dirk Eddelbuettel
`date` uses the user's path unless taint checking is on.
@::DatePath used instead of @Date::Manip::DatePath incorrectly.
Fixed by John Labovitz.
Fixed a bug where times such as "5 seconds ago" were not changing
over time. Matthew R. Sheahan
Added timezones. Eli Selinger
Version 5.40 2001-06-07
Added an example. Philip Jones
Fixed a warning. Edward Avis
Fixed a bug where the date wasn't rolling over when parsing dates
containing only times. James L. Gordon
Fixed a bug where some times were defaulting to the current time
instead of 00:00:00. Edward Avis
Added `date +%Z` support in Date_TimeZone. Mike Bristow
Added support for negative values is "epoch SECS" type dates.
Larry Warner
Fixed a warning if the timezone is supplied as a +HHMM format.
Viola Mauro
Fixed a bug in Date_NthDayOfYear with decimal days. Olga Polyakov
Fixed a bug where ParseDateDelta returned a delta if nothing was
passed in. Jim Hranicky
Fixed a bug where noon was case sensitive. Bion Pohl
Fixed a bug where dateTtime wasn't parsed. Jeremy Brinkley
Fixed South African time zone. David Sieborger
Fixed a bug in holiday parsing involving recurrences. Jerry Wilcox
Added NWD/PWD/DWD flags to ParseRecur. Peter Wyngaard
Fixed a bug where an invalid date passed to Date_IsWorkDay produced
an error message. Mark Rejhon
Fixed a bug where EraseHolidays wasn't taking affect correctly.
Chateauvieux Martial
Fixed a bug where the list produced by Date_Init couldn't be passed
back in to Date_Init. James Elson
Version 5.41 DEVELOPMENT
Added runtests.bat contributed by Lon Amick
Added JAVT timezone. David Coppit
Fixed bug where -HH:MM and +HH:MM were not being accepted as valid
timezones. Hank Barta
Small patch for OpenVMS. Martin P.J. Zinser
Minor doc fix. Jeremy Tietsort
Added BRST timezone. Daniel Serodio
Added Russian translation. Dapi
Made the UnixDate %Z format work with numeric timezones. Michael Isard
Minor bug fix where /etc/timezone not correctly read. Jacek Nowacki
Added ART timezone. Fabian Mandelbaum
Minor enhancement to ParseRecur. Randy Harmon
Fixed spelling of Veteran's day. Dirk Eddelbuettel
Documentation improvements. James Olsen
Added Brazilian timezones. Raul Dias
Fixed WEST timezone. Pedro Melo CUNHA
Added NOVST timezone. Roman Y Malakhov
Additions to Dutch translation. Willem
Fixed a bug where timezones -HH:MM weren't handled in ISO 8601 dates.
Ed Avis
Fixed a bug involving business deltas with negative hours. Ludovic
Dubost
Modified Delta_Format to treat the entire delta as exact if no month
component is present. Due to discussion with Tim Turner
Added EAT timezone. David Whiting
Added BOT timezone. Khaled Mostaguir
Added several Australian timezones. Jason King
Added some support for NetWare. Chris Shields
Added some help for VMS timezones. Don Slutz
Applied some robustness patches. Ed Avis
Fixed a bug with years <1000. Jonathan Callahan
Patch to make Manip.pm -Mstrict clean and better VMS support.
Peter Prymmer
Patch to French support. Patrick Turmel
Added Tues/Thur abbreviations. Martin Thurn
Fixed a bug in "1st saturday of 2005" format. Maurice Aubrey
Taint check insecure $ENV{PATH} fix. Ed Avis
Patch to allow deltas of the form "+ -1 day" to work. Ed Avis
Added Turkish. Giray
Added Danish. Jesper Dalberg
A patch for Danish was send by Jorgen Norgaard previously, and
I somehow overlooked it (I have a mail folder containing as-yet
unimplemented suggestions). I apologize for that.
Added some checking to the timezone determination. Ed Avis
***Replaced all non-ASCII characters with hex representations to avoid
the malformed UTF-8 character warnings. Ed Avis
Removed ampersands from function calls in documentation to fit new
perl coding standards. Bill Pollock
Fixed a bug where spaces in a date caused problems in German (due
to the number 1st, 2nd, etc. being 1., 2., etc.). Erik Roderwald
Version 5.42 2003-07-02
Number changed to distinguish between the development release (5.41)
and official release since.
Version 5.42a 2003-07-03
A quick fix to replace a faulty test.
Version 5.43 DEVELOPMENT
Fixed German translations. Oliver Scheit
Minor doc fix. Reuben Thomas
Fixed a bug is ParseRecur where values passed in were no overriding
old values in the recurrence. Scott Barker
(reported to the Debian bugs list).
Added TodayIsMidnight. Reuben Thomas
Clarified docs on %W/%G/%U/%L formats. Joel Savignon
Fix for a potential problem in the "0000" timezone. Ed Avis
Documentation fixes. Ed Avis
Changed taint check to be the one in persec(1). Max Kalika
Minor fix so DateInit("VAR=") will work. Thomas Bohme
Minor corrections to Italian. Nicola Pedrozzi
Fixed a problem with single character military timezones (T and W)
conflicting with ISO 8601 T and W dates. Hugo Cornelis
Added "approx" mode to Delta_Format and reversed change to default
Delta_Format behavior to the one from version 5.40. Based on
discussion with Adam Spiers.
Fixed a bug where business mode was kept operative even after the
calculation was over. Emiliano Bruni
Minor change to run under cygwin. Niel Markwick
Minor documentation fix. Thomas Winzig
Added timezones. Michael Wood-Vasey
Minor VMS fix. Martin P.J. Zinser
Small fix to taint checking. David Worenklein
Small correction to Brazil timezones. John McDonald
Added a timezone. Don Robertson
Fixed a problem where deltas were getting misinterpreted as dates.
Harry Zhu
Added a timezone. Michael D. Setzer II
Fixed a bug in ParseRecur where "last day of every March" couldn't
be done. Andras Karacsony
***Revamped the recurrences. Y-0-WOY-DOW now refers to the WOY'th
occurence of DOW instead of the ISO 8601 date Y-W(WOY)-DOY. Also,
changed Y-0-WOY-0 to refer to the WOY'th occurence of FirstDay,
and got rid of the MW and MD flags. Many other similar changes.
Fixed a bug in business mode calculations. Tracy L Sanders
Added timezone. Andres Tarallo
Added the language Catalan. Xavi Drudis
Modified %x UnixDate format to use DateFormat config variable.
Matt Lyons
Added %O UnixDate format. Martin Thurn
Sorted all events and dates returned by Events_List. This fixes
problems with tests on some versions of perl. Tulan
Version 5.44 2005-06-02
Released
Version 5.45 DEVELOPMENT
Fixed bug in parsing ISO 8601 dates. Paul Schinder
Language fix for Danish. Claus Rasmussen
Added "overmorrow". Ed Avis
Language fix for German. Andreas Dembach
Fixed a bug in UnixDate for years before 1000 AD. Joaquin Ferrero
Fixed a bug where "today" wasn't case insensitive. Pedro Rodrigues
New timezones. Khairil Yusof, Andy Spiegel, Ernesto Rapetti
Fixed a bug where business/approximate mode wasn't correctly used in
DateCalc. Mark T. Kennedy
Minor documentation improvement. Caminati Carlo
Bug in DateCalc where you couldn't pass undef as the errref. Alex Howansky
Bug where cygwin wasn't using the date command. Rafael Kitover
New timezones. Robin Norwood
Fixed russian timezones. Yuri Kovalenko
Lots of spelling fixes. Asaf Bartov
Version 5.46 2007-02-21
Released
Version 5.47 DEVELOPMENT
Revised some of the docs about Y2K (given that it's in the past) and
the 2007 US daylight saving time rule changes. Suggested by
Fixed a problem in the WEST timezone. Cristina Nunes
Added timzezone. Kimmo R. M. Hovi
Fixed the version number. John R. Daily
Fixed a warning when the date command not present. Daniel Hahler
Fixed a bug where recurrences of the form 0:1*, 0:0:1*, etc.,
incorrectly required a base date. Gerry Lawrence
Fixed a bug where "substring" was used instead of "substr".
Version 5.48 2007-11-27
Released
Version 5.49 DEVELOPMENT
Corrected typo in %G and %L format descriptions. Troy A. Bollinger
Added "ereyesterday". Ed Avis
Added timezones. Damyan Ivanov
Added timezone. Ernesto Hernandez-Novich
Added timezone. Gregor Herrmann
Added timezone. Nicholas Riley
Added timezone. Enrique Verdes
Added timezone. Alexander Litvinov
Added Build.PL and several other things to meet requirements on
http://cpants.perl.org/
Version 5.50 2008-05-05
Released
Version 5.51 DEVELOPMENT
Additional changes to meet requirements on http://cpants.perl.org/
Fixed bug where the wrong version was in Build.PL
Version 5.52 2008-05-08
Released
Version 5.53 DEVELOPMENT
Final changes to meet requirements on http://cpants.perl.org/
Bug fix so it won't fail with "Too early to specify a build action"
Version 5.54 2008-05-09
Released
Version 5.55 2010-02-22
Typo fix. ddascalescu
Added all of the timezone abbreviations from version 6.xx .
Version 5.56 2010-02-24
Bug fix (Date_PrevWorkDay) and documentation fix. RT #17005
Bug fix. I accidentally included a require 5.10 which made Date::Manip
not work with earlier versions of perl. Nicholas Riley
Version 5.57 Released with 6.10
Fixed a bug where years earlier than 1000 AD failed in calculations. John
Combined 5.xx and 6.xx. As of 6.10, Date-Manip-6.xx will contain both the
Date::Manip 5.xx and 6.xx modules, and the appropriate one will be
automatically installed. This will allow all of the automatic module
tools to work correctly.
Documentation improvement. Josef Kreulich
Improved timezone detection. Stepan Kasal
Version 5.58 Released with 6.11
Fixed a bug in some of the tests that were causing two tests to fail. JD
Explicitly set TZ in all tests to avoid some failures (it got left out of
a few when it was bundled with 6.10).
Version 5.59
Version 6.00 2009-11-23
Date::Manip 6.00 is a total rethink of the module, and a nearly complete
rewrite. Please refer to the Date::Manip::Changes5to6 document for a list
of incompatible changes.
*** Massive reorganization and near total rewrite.
*** Broke into several smaller modules
*** Full timezone support (using tzdata 2009s)
Several config variables deprecated
Added some functionality (suggested by James Elson to improve setting
the "current time". Done with the ForceDate config variable.
*** Converted languages to YAML for much easier maintenance. Patch and
suggestion provided by Evan Carroll
Added much better formats for deltas. Suggested by Jim Hranicky.
Borrowed the _FindWindowsTZName function from the DateTime-TimeZone
module.
Added SetDate config variable (based on a suggestion by Christian Campbell).
Added parse_format which was first suggested by Kim Ryan.
Thanks to Jonathan Hogue for helping test Windows additions.
It also contains a few bug fixes correcting problems in the 5.xx releases:
Fixed a bug where "YYtoYYYY=c" wouldn't work.
VMS bugfix to not call `date` command. Lane
Fixed typo in turkish translation.
Spelling fix in dutch. Bart Van Loon
New Year's Day defined using a recurrence which might push the observed
day to the previous year was broken. Reported by Alan Burlison
I have received many suggestions over time which were automatically
handled during the 6.00 rewrite. Although the changes weren't made
because of the suggestions specifically, I wanted to acknowledge
them since I appreciate the suggestions.
I believe the first person to suggest writing Date::Manip as an OO
module was Eduard Derksen.
Delta_Format initialization done outside of the function. Eric Boehm
Added $subtract to calculation routines. First suggested by Steve Berlage.
Added ability to set individual parts of the date (Date::Manip::Date::set).
First suggested by Martin Thurn.
UnixDate (i.e. Date::Manip::Date::printf) only calculates formats when
they are needed. Eduard Derksen
Parsing will skip some date/time formats if requested. This was first
suggested by Eduard Derksen.
It has been suggested several times to support multiple languages,
multiple config files, or multiple sets of Date_Init
options. These suggestions (by Meng Fang, Ed Avis, Christian
Campbell, and perhaps others) were at the back of my mind as I
developed the Date::Manip::Base class.
The regular expressions are all i18n friendly in anticipation of much
better support for localization. First suggested by Alex Kapranoff.
Parsing a date ('today', 'Monday') gives a time of '00:00:00'. Suggested
by Mark Aitchison.
Version 6.01 2009-11-23
*** Fixed a bug where dates were sometimes getting the wrong timezone when
SetDate/ForceDate in effect.
Version 6.02 2009-11-24
A quick fix to make sure that the tests run correctly in other timezones.
Disabled curr_zone_methods when taint checking on. I believe that Date::Manip
is completely taint friendly at this point.
Version 6.03 2009-11-24
Corrects a backward incompatibility with UnixDate. Rene Schickbauer
A couple more corrections to the tests.
Version 6.04 2009-11-25
Fixed a bug where events were not interpreted in the correct timezone if
SetDate/ForceDate used.
Version 6.05 2009-12-09
*** Significant speedups. Thanks to Moritz Lenz and BrowserUK on perlmonks
for suggestions (and a number of other people on perlmonks for suggestions
that I did not end up using, but which provided a great discussion).
Reduced the precision of 1 test to avoid a rounding difference when using
a perl compiled with uselongdouble. Andreas Koenig
Fixed a bug in parse_date where the current time was getting used instead
of the documented 00:00:00
Bug fix where DateCalc didn't work with $mode in some cases.
Fixed Makefile.PL/Build.PL to hanle Win32::TieRegistry requirement.
Changed %z printf behavior back to 5.xx and added %N format. Gilles Lamiral
Fixed bug where non-English Windows versions didn't get the timezone. Thanks
to Rene Schickbauer for testing.
Added dm_date example script.
Version 6.06 2010-02-05
Added dm_zdump example script.
Minor bug where %Z printf format didn't always work.
Improved TZ::periods functionality
Fixed bug in Date_ConvTZ where empty values weren't defaulting to local timezone.
Robert Eden
Fixed a couple of problems in the generated timezones for some odd cases
(America/Resolute and Asia/Tehran).
Added support for 5pm back in (it was omitted accidentally). Mark Kennedy
Fixed a minor warning. Morten Bjoernsvik
Some additional speedups.
Newest zoneinfo data (tzdata 2010b)
Version 6.07 2010-02-05
Fixed bug in Date_TimeZone where it wasn't returning the timezone. Robert Eden
Version 6.10 2010-04-29
Fixed a bug where Date_ConvTZ not working correctly with timezones specified
by offset. Chris Butler
Fixed a documentation bug in Date::Manip::TZ where "stdonly" was listed as the
default value for $dstflag, but in actuality, "std" is the default.
Changed Date::Manip::TZ::zone so "dst" is sometimes the default $dstflag.
Based on the bug report by Chris Butler.
OpenUNIX puts a colon at the start of some timezones. It's removed. Jean Hassler
Fixed a bug where business mode calculations involving minutes was not handled
correctly. Damien Moore
*** Combined 5.xx and 6.xx releases into one distribution so cpan/cpanp will
work correctly.
Newest zoneinfo data (tzdata 2010i)
Fixed a bug where business mode calculations failed in some cases. RT 56638
Converted tests to Test::Inter
Version 6.11 2010-04-30
Fixed a problem in Build.PL that had an incorrect module requirement.
Version 6.12
|