Holiday Calculator  Holiday Calculator

This view this page, you should have a recent Java installed, preferably 32-bit JRE (Java Runtime Environment) 1.7.0_04.

Uses

This Applet calculates when various holidays occur in any given year BC or AD. It is designed to be cannibalised to include the calculation routines in your own programs. You might use it to prepare paper calendars well in advance or electronic calendars. You might also use the logic in computer programs that compute payrolls, bus schedules, or club meetings. You might use it in writing novels or researching historical events. It can also be used as an Applet or a standalone application.

Types Of Holidays

Many holidays and celebrations occur at the same fixed date each year. Others occur always occur on some special day of the week, or move around wildly, like Easter which is based on the phases of the moon. Others like the equinoxes are based on astronomy. Some events, like presidential inaugurations, don’t happen every year. Some, have moved around over the years. I have posted Java code to calculate to following holidays given the year.

January February March April May June
New Year’s Day Groundhog Day Commonwealth Day April Fools’ Day Cinco de Mayo Australian Queen’s Birthday
Martin Luther King Day Valentine’s Day Daylight Saving Time Start Good Friday Europe Day Father’s Day
Robbie Burns Day aka Burns Nicht Presidents Day St. Patrick’s day Easter Sunday Mother’s Day Summer Solstice
Australia Day Alberta Family Day Vernal Equinox Easter Monday Armed Forces Day Aboriginal Day
  Mardi Gras Earth Hour Earth Day Victoria Day St. Jean-Baptiste Day
  Ash Wednesday Palm Sunday ANZAC (Australian and New Zealand Army Corps) Day Memorial Day  
July August September October November December
Canada Day Canada Civic Day Change Your Passwords Day Canadian Thanksgiving General Election Day World AIDS (Acquired Immuno-Deficiency Syndrome) Day
Independence Day   Canadian Labour Day Columbus Day Daylight Saving Time End Human Rights Day
Utah Pioneer Day   American Labor Day Creationism Day Remembrance Day Winter Solstice
Parents' Day   Grandparents Day Halloween Veterans Day Christmas Eve
    Autumnal Equinox   American Thanksgiving Christmas in UK and Canada
        Black Friday Christmas in the USA
        St. Andrews Day Boxing Day in UK and Canada
          New Year’s Eve
You will note these are not all holy-days or holidays you get off work. They are not necessarily even celebrations I use the term holiday very broadly to include any regularly recurring special day on the calendar.

The holiday I plan to add next is Chinese New Year which has a complex formula.

This Applet below will show you when all the holidays occur in any given year, BC or AD. If the holiday was not celebrated in that year, it will not appear. It will also show you the nearest weekday to any given holiday.

Please report any errors via email. If you are willing to provide the rules for calculating your favourite holidays, I will add them too.

The program is also available with Java source to download and run it either as an Applet or an application.

Sorry, you need Java 1.5 or later to run this Applet.

If, Holidays, the above Holiday Calculator signed Java Applet (that can also be run as an application) does not work…

  1. Often problems can be fixed simply by clicking the reload button on your browser.
  2. Make sure you have both JavaScript and Java enabled in your browser.
  3. This signed Java Applet (that can also be run as an application) needs 32-bit (not 64-bit) Java 1.5 or later. For best results use the latest 1.7.0_04. If you have both 32 and 64-bit JVMs installed, in the Java Control Panel, configure your 32-bit java.exe as the user JVM and your 64-bit java.exe as the system JVM. You also need a recent browser.
  4. It works under any operating system that supports Java e.g. W2K/XP/W2003/Vista/W7-32/W7-64/Linux/Ubuntu/Solaris/OSX
  5. You should see the Applet hybrid above looking much like this screenshot. If you don’t, the following hints should help you get it working:
  6. For this Applet hybrid to work, you must click grant/accept to give it permission to let you copy/paste. If you refuse to grant permission, the program may crash with an inscrutable stack dump on the console complaining about AccessController.checkPermission.
  7. Optionally, you may permanently install the Canadian Mind Products code-signing certificate so you don’t have to grant each time.
  8. If the above Applet hybrid appears to freeze-up, click Alt-Esc repeatedly to check for any buried permission dialog box.
  9. If you have certificate troubles, check the installed certificates and remove or update any obsolete or suspected defective certificates. The only certificate used by this program is mindprodcert2012dsa.cer.
  10. Especially if this Applet hybrid has worked before, try clearing the browser cache and rebooting.
  11. To ensure your Java is up to date, check with Wassup. First, download it and run it as an application independent of your browser, then run it online as an Applet to add the complication of your browser.
  12. If the above Applet hybrid does not work, check the Java console for error messages.
  13. If the above Applet hybrid does not work, you might have better luck with the downloadable version available below.
  14. If you are using Mac OS X and would like an improved Look and Feel, download the QuaQua look & feel from randelshofer.ch/quaqua. UnZip the contained quaqua.jar and install it in ~/Library/Java/Extensions or one of the other ext dirs.
  15. If you are using Microsoft Internet Explorer 7, 8 or 9, try another browser. Seriously. Microsoft has taken great pains, over and over, to screw up Java and every other multi-platform standardisation.
  16. If you are using Microsoft Internet Explorer 7, 8 or 9, you must click to allow blocked content permission for Active X to run. This also gives permission to Java to run. Click the Information bar, and then click Allow blocked content. Unfortunately, this also allows dangerous ActiveX code to run. However, you must do this in order to get access to perfectly-safe Java Applets running in a sandbox. This is part of Microsoft’s war on Java. Don’t put up with it! Use a different browser.
  17. If you are using Microsoft Internet Explorer 9, makes sure the Java Plug-In SSV helper add-in is installed and enabled. If it is not, try reinstalling the Java JRE.
  18. If you have Windows 7 64-bit and Internet Explorer 64-bit, in theory you can use 64-bit Java, but I never been able to get it to work.
  19. Try upgrading to a more recent version of your browser, or try a different browser e.g. Firefox, SeaMonkey, Safari or Avant.
  20. If you still can’t get the program working click HELP for more detail.
  21. If you can’t get the above Applet hybrid working after trying the advice above and from the HELP button below, have bugs to report or ideas to improve the program or its documentation, please send me an email atemail Roedy Green.
Java powered   Get New Java  Get New Browser   Help
PackageVersionReleasedLicenceLanguageNotes 
holidays
Holiday Calculator
4.7 2011-02-16 free Java
more infoprecisscreenshotbrowse source repository
for the current version of Holiday Calculator.
Calculates when various holidays occur in any given year BC or AD. Designed to be cannibalised to include the calculation routines in your own programs. Also calculates the nearest weekday to any given holiday.
download 3.6MB zip for Holiday Calculator Java source, compiled class files, jar and documentation to run on your own machine either as an application or an Applet.

Runs on any OS that supports Java e.g. W2K/XP/W2003/Vista/W7-32/W7-64/Linux/Ubuntu/Solaris/OSX.

First install the most recent Java.

To install, extract the zip download with WinZip, (or similar unzip utility) into any directory you please, often J:\ — ticking off the use folder names option.

To check out the corresponding source from the Subversion repository, use the TortoiseSVN repo-browser to
access holidays source in repository with [Tortoise] Subversion client on wush.net/svn/mindprod/com/mindprod/holidays/.

After you have installed the jar, you can run it as an application. Type:

java -jar J:\com\mindprod\holidays\holidays.jar

adjusting as necessary to account for where the jar file is.

download ASP PAD XML program description for the current version of Holiday Calculator.

Holiday Calculator is free.
$489.00 US donated so far. If the CMP utilities solved your problem, please donate a buck or two, or donate to one of the charities featured in the footer public service ads throughout the website and get a tax receipt.
Full source included. You may even include the source code, modified or unmodified in free/commercial open source/proprietary programs that you write and distribute. Non-military use only.
 
 
J.R. Stockton’s Holiday Page

My least favourite holiday is Remembrance Day/Memorial Day. On that day, otherwise sane card-carrying liberals go gaga over soldiers who participate in illegal aggressive wars. I am not that keen on Easter either. Hypocrites who have nothing to do with religion all year show up to support an obsolete church whose only remaining function is pimping for its pedophilic clergy. As a child, my favourite holiday was Halloween. I liked the fireworks. As an adult, I like the way grown-ups let themselves play by dressing up in silly costumes.

Easter egg

CMP homejump to top You can get the freshest copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/applet/holidays.html J:\mindprod\applet\holidays.html
logo
Please email your , letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email. If you want your message, your name or email kept confidential, not considered for public posting, please explicitly specify that. Unless you state otherwise, I will treat your message as a letter to the editor that I may or may not publish in the feedback section. After that, it will be too late to retract it. If you disagree with something I said, please quote it and cite the web page where you found it, tell me why you think it is wrong, and, if possible, provide some supporting evidence. Threatening to kill me or spouting obscenities has yet to persuade me to change my mind.
mindprod.com IP:[65.110.21.43]
view BlogYour face IP:[38.107.179.211]
You are visitor number 46,141.