==================================== Package "Date::Calc" Version 6.4 ==================================== Copyright (c) 1995 - 2015 by Steffen Beyer. All rights reserved. Credits: -------- Many thanks to Andreas Koenig for his efforts as upload-manager for the CPAN, his patience, and lots of very good advice and suggestions! Thank you for doing such a tremendous (and very time-consuming) job!! Also many thanks to David Jenkins for reviewing the first version of this README file and the english man page. Thanks to Jarkko Hietaniemi for suggesting the "days_in_month()" function. Many thanks to Christian for reporting the bug fixed in version 1.4, which showed up on an HP E55 running HP-UX 10.01 and Perl 5.001m with the c89 Ansi 89 compiler from HP. Also many thanks to David Thompson for reporting a problem he encountered concerning the inclusion of the Perl distribution ("Unable to find include file ...") and for suggesting a solution for this problem. (That's the most pleasant kind of problem report, of course! ;-) ) Many thanks to Tom Limoncelli for raising the question of how to calculate the 2nd Thursday of a given month and year! Many thanks to Bart Robinson for suggesting the "all" export option and the "decode_day()" and "decode_month()" functions. Also many thanks to Ron Savage for suggesting the incorporation of time calculations into this module. (Sorry that I didn't include the handling of time zones, which can be taken care of more easily by adding/subtracting the appropriate time value in an extra, preliminary step!) Many thanks to Jonathan Lemon for reporting the bug (and how to fix it!) concerning arrays as parameters, fixed in version 2.2! Many thanks to Tim Zingelman for reporting the problem fixed in version 2.3 and for testing an intermediate new version of this module on his machine! Many thanks to Jonas Liljegren for posting a subroutine for calculating easter monday in news:comp.lang.perl.modules and thereby triggering my writing of the new "Date::CalcLib" module which has been added in version 3.0 of the "Date::Calc" distribution. Also many thanks to Claus Tondering for his excellent web pages and FAQ in news:news.answers about calendars and how to calcu- late easter sunday. Thanks to Reinhold Stansich for posting a list of christian feast days and their offsets from easter sunday in news: comp.databases.ms-access and to Tammo Schnieder for sending me his posting. Many thanks to Max Ruffert at the Max Planck Institute for Astrophysics in Garching for looking up Gauss' Rule for calculating easter sunday (the algorithm which is implemented in the "Date::CalcLib" module) for me and dictating it to me over the phone! Many thanks to Chris Halverson for asking me "is there a "standard" way to create a calendar similar to the output of cal(1)?", which gave me the idea to write the function "calendar" which has been added to the module "DateCalcLib" in version 3.1, and also for the C code demonstrating how to use the C library "lib_date.c" stand-alone, because that was what he needed to do as well. Many thanks to Gunardi Wu for notifying me about the bug in the "Add_Delta_YMD()" function which was fixed in version 4.1. Thanks to the several people who notified me about two compiler warnings concerning incompatible character types in Calc.xs line 857 (added two casts in version 4.2 to fix this flaw). Many thanks to Alessio Bragadini for the patch he sent in to add Italian as one of the supported languages (version 4.3). Many thanks to Roland Titze and to Andrew Brown for pointing out the misspelling of "whether" (was: wether) throughout my documentation, corrected in version 5.0. Special thanks go to Tim Mueller-Seydlitz for notifying me about the inability of all string decoding routines to parse special ISO-Latin-1 characters correctly. Many thanks to Gisle Aas for many good suggestions and his patch for adding support for Norwegian. Many thanks to Jerker Nilsson for his patch for adding Swedish. Also many thanks to Masanao Izumo for raising the question of a "Delta_YMD()" function and for sending in patches. And last but not least many thanks to Slaven Rezic , Tobias Brox and Matthew Persico for suggesting date objects with overloaded operators, which were added in version 5.0. Many thanks to Tobias Brox again for the idea of supplying one set of comparison operators which compare only the date part, and another set of operators which compare date and time (or fall back to comparing only the date if both operands lack the time part). Many thanks to Jens Coldewey , Michael Niebler and Charles Lane for notifying me about the missing "#include " statement in DateCalc.c. Also many thanks to Frank Dabelstein for his patch for adding Danish. Thanks also go to Steve Tolkin for suggesting that I should emphasize in the README.txt file that the reading of the INSTALL.txt file is important, especially if running Perl under Windows. :-) Many thanks to Martin Vorlaender for notifying me about the problem with the linker on VMS with identifiers longer than 30 characters, and to Charles Lane for sending me a patch! Many thanks to Jarkko Hietaniemi for providing me with the necessary information to add Finnish (suomi). Many thanks to Graham Barr for his many good suggestions regarding how to generalize my original, very limited module (based on Carp.pm) which skips all packages belonging to the "Date::*" hierarchy (in order to generate an error message from the perspective of the caller), into a module that can be given a pattern (i.e., a regular expression) of package names to be skipped. Also many thanks for his suggestions of a name for this module and for lots of great code he sent! Also many many thanks to the innumerable contributors of the lists of American states and abbreviations and many countries' national holidays: List of U.S. American states and abbreviations courtesy of: Jack Applin Troy Arnold Larry Rosler Mark-Jason Dominus Charles Ford URLs concerning U.S. American states and abbreviations thereof sent by: Edward Cerruti Mark Badolato List of Canadian states and abbreviations courtesy of: Larry Rosler Geoff Baskwill List of U.S. American holidays courtesy of: David Cassell Larry Rosler Anthony Argyriou List of Canadian holidays courtesy of: M Lyons List of Norwegian holidays courtesy of: Gisle Aas (From his module "No::Dato" on CPAN) List of Swedish holidays courtesy of: Erland Sommarskog List of British holidays courtesy of: Jonathan Stowe Lists, hints, suggestions and URLs concerning different countries' holidays were sent to me by: Jihad Battikha Tim Rueger Mark-Jason Dominus Abe Timmerman Troy Arnold Mattias Engdegĺrd Lincoln Yeoh Bart Lateur David Chapman Russ Allbery Ben Coleman Wolfgang Franzki Rainer Gratias Thanks to Nelson Ferrari for suggesting an alternative "Calendar()" function which starts on Sunday instead of Monday. Many thanks again to Martin Vorlaender for testing my modifications in order to satisfy the VMS linker (which was complaining about identifiers which were longer than 30 characters) and for his confirmation that now everything works (not counting some innocuous warnings from xsubpp)! Thanks a lot to Ramiro Morales for correcting my errors in Spanish (and for sending a patch)! And last but not least, many very special thanks for his tremendous work to J. David Eisenberg for writing a plain Perl version of Date::Calc 4.3, available from his home page at http://catcode.com/date/pcalc.html! (And also from my web site at http://www.engelschall.com/u/sb/download/ and my CPAN directory at http://www.perl.com/CPAN/authors/id/S/ST/STBEY/.) Many extra thanks to Bianca Taylor for exploring the mysteries of (and phoning up a lot of astounded state officials!) the australian holidays for me, as well as for sending me a list with the holidays of New Zealand; and many thanks also to her friend John Bolland for compiling this list for New Zealand in the first place! Many thanks to ??? ??? for sending me excellent feedback and suggestions. He for instance suggested the possibility to have individual formatting for different date objects, and the ability to import/export Unix "time" values. Many special thanks (k) to my girlfriend Ana Maria Lopes Monteiro for investigating the brazilian holidays and commemorative days for me! Very special thanks to the following people for helping in compiling and verifying the calendar profiles in Date::Calendar::Profiles: Abe Timmerman Abigail Aldo Calpini Andie Posey Arnaud Calvo Arturo Valdes Bart Lateur Brian Graham Bruno Tavares Cas Tuyn Cedric Bouvier David Landgren Dietmar Rietsch Don Simonetta Elizabeth Mattijsen Erland Sommarskog Flemming Mahler Larsen Francois Desarmenien Gordon Fletcher H. Merijn Brand Hendrik Van Belleghem Herbert Liechti Jean Forget Jigal van Hemert Johan Vromans Julien Quint Lars Ole Magnus Bodin Marco Hunn Mark Keehn Michele Beltrame Pat Waters Paul Fenwick Peter G. Martin Remco B. Brink Robert McArthur Stefaan Colson Stephane Rondal Wim Verhaegen Jabu Virginia Duma, Giant's Castle Lodge, Drakensberg, 3310 Estcourt, KwaZulu-Natal, South Africa Dirk Swart Hilda de Jager Hennie Meyer Pe. Amancio Inez Hiltrop Stephen Riehm Graham Crookham Philip Newton Many thanks to Sunny Paris for correcting the french date format in function "Date_to_Text_Long()"! Many grateful thanks to Nathaniel Irons for reporting a problem and for testing a possible solution on his machine regarding the inclusion of the file "patchlevel.h"! Many thanks to Daniel Crown for providing me with a list of argentinian holidays! Many thanks to Morten Sickel for reporting why Excel (erroneously) regards 1900 as a leap year, and why therefore one should use 31-Dec-1899 as the epoch for converting Excel date values. Many thanks to Georg Mavridis for providing me with the list of greek holidays. Many thanks also to Guenther Degenfelder for showing me his "Karl" calendar display program, which inspired me to write the example script "anniversaries.pl" (in the "examples" subdirectory of this distribution). Many special thanks to Thomas Wegner for porting version 5.0 of this module to MacOS and MacPerl. His port (plus some additions - see below) is now version 5.1. Thanks to Ken Clarke for his addition to the documentation concerning the function "Monday_of_Week()". Many thanks to Nora Elia Castillo for sending me the list of holidays for Mexico! Thanks to dLux (Balázs Tibor Szabó) for his much simpler formula in recipe #4 in the "Date::Calc" documentation. Thanks to Daniel Berger for suggesting a normalization method for delta vectors in Date::Calc::Object, which has been added in version 5.1. Thanks to Danny Rathjens for suggesting the improvement in the documentation of Date::Calc concerning the paragraph which says that ALL ranges start with 1 - except, of course, hours, minutes and seconds. Many thanks to Dr. John Stockton for notifying me about some spelling, naming and historical errors in the documentation of Date::Calc, which have been corrected in version 5.1. Many thanks to Slawomir Szmyd for sending me the patch to add Polish and the profile of polish holidays. Many thanks to Robert Kovacs for sending me the patch for adding Hungarian. Many thanks to Simon Perreault for sending me corrections for the Quebec/Canada profile in Date::Calendar. Thanks to Sercan Uslu for sending me the dates of the turkish holidays in 2002. Thanks to Ivor Blockley for asking for a way to compare dates which have a time part, and how to test whether two such dates are more or less than a given time interval apart - the solution to this problem is now recipe #3 in the Date::Calc documentation. Many thanks to Ian Zapczynski and to Felix Geerinckx for notifying me about a bug in the method "add_delta_workdays()" (Date::Calendar), which sometimes causes an incorrect result when adding a negative number of workdays. The bug hasn't been fixed yet, but there is a workaround which seems to remedy the problem: First add one workday to the date in question, and then subtract one workday more than initially. Many thanks to Mike Swieton (and many other people in the past) for sending in a patch so that ToolBox.h will compile with C++ compilers. Thanks to Joe Rice and Sridhar Gopal for pointing out that the formula for Labor Day in the U.S. apparently was wrong; it returned September 8th in 2003 but Labor Day in that year actually was on September 1st. It should obviously be "1/Mon/Sep" instead. Many thanks to M.S. Tawfik for finding a bug in the "init()" method of Date::Calendar::Year when the year starts with a Sunday (such as in 1995) and for sending a patch! Thanks to George Cooke for raising the question of how to "normalize" the results of the "Delta_YMD()" function to show only positive values, the answer to which has been included as a "recipe" in the documentation of Date::Calc. Thanks to Joachim Ansorg for sending me the necessary information to add Romanian to the list of languages supported by Date::Calc. Many thanks to Peter Prymmer for suggesting a work-around for the problems that can arise when a locale other than "C" is used! Thanks to Olle E. Johansson for sending corrections for the Swedish calendar profile. Thanks to Harold van Oostrom for sending in a fix for the Polish language in Date::Calc. Also many thanks for his patch to make Date::Calc ready for UTF-8, which unfortunately I haven't had the time yet to evaluate. Many thanks also to Sven Geisler for sending me corrections for the profile and official references for ALL federal states of Australia. Many thanks to Tony Mountifield for sending in a patch to enable Date::Calc to handle negative values of time_t, for dates before the Epoch. I decided not to include it at this time first because the system functions such as localtime, gmtime and mktime are considered legacy functions due to their rather restricted range (Date::Calc's own functions operate on a much broader range), and second because it cost so much effort to make these functions work in Date::Calc under Unix and Windows as well as under MacOS (Classic), that the risk of breaking things is just too high, not to mention the time and effort needed to get it right again, which I can't spend at the moment, unfortunately. So please use Date::Calc's own functions instead, which cover the intended range of dates anyway. Thanks a lot to Can Bican , Ziya Suzen , Henk Uijterwaal and the Amsterdam Perl Mongers for providing me with more detailed information concerning the "Bevrijdingsdag" (5th of May) in the Netherlands. Many thanks to Vetle Roeim for sending some more commemorative days (some companies give half a day off) for the Norwegian profile. Thanks a lot to Jesse Vincent and to Alistair Francis for reporting the ongoing problem with the boolean type in MacOS X and to Tatsuhiko Miyagawa (?) and Alistair Francis for providing patches. Thanks to Thanos Chatziathanassiou along with Barret Clark and Qiang (?) for suggesting some changes to the documentation. Sorry for not including the changes concerning the Orthodox and Julian calendars since these are outside of the scope of this module. Thanks to Anthony DeRobertis and Jonathan Yu for alerting me about the problem that in Date::Calendar and Date::Calendar::Year, it is hardcoded that Saturday and Sunday are holidays, and for asking to make this configurable. Many thanks to H. Merijn Brand for triggering the development of a new normalized date difference function. Many thanks to Marek Snowarski for raising my attention to the fact that the Polish names for the months and days of week were written wrongly. Many thanks to Piotr Wierzejewski for providing me with the correct spelling of the Polish names for the months and days of week in Unicode. Many thanks to H.Merijn Brand for discussing the various issues and advantages/disadvantages of integrating versus splitting the C/XS-part and the pure-Perl part of this distribution with me! Many thanks to Anthony Mirante for reporting that there can be a difference in the output of "Date::Calc::PP::Mktime()", "Date::Calc::XS::Mktime()" and "POSIX::mktime()", and for running a test script for me! Thanks to Florian Schlichting - he fixed some typos in several POD files (https://rt.cpan.org/Ticket/Display.html?id=94687). Thanks to Slaven Rezic and several other people who notified me about the failing test suite concerning the moving window function in the Decode_Date_X() functions (https://rt.cpan.org/Ticket/Display.html?id=101232). Thanks to Michael B. Rash for the suggested fix for the eternal problem with the definition of a "boolean" type in ToolBox.h (https://rt.cpan.org/Ticket/Display.html?id=102157). Thanks a lot to Slaven Rezic for notifying me about the new warnings with Perl 5.21.x: "Unescaped left brace in regex is deprecated" (https://rt.cpan.org/Ticket/Display.html?id=102266).