Outlook 2010 has incorrect holidays for UK and many other countries
September 3, 2010 29 Comments
Quick background information to bring you up to speed: You can add national holidays for your country to your Outlook calendar so they remind you not to go to work that day. Unfortunately Microsoft sometimes get the details wrong for one or two places, but in the case of Outlook 2010 at least 23 countries have incorrect dates for some of their holidays.
In this article I will describe some of the errors, list corrected dates and provide links to files I have prepared with the fixes already in to save you some typing. I have also posted a separate article about adding and removing holidays from your Outlook calendar, rather than making this one even longer with a great big discussion about the mechanics of doing this.
When you add holidays to Outlook, they are read in from a specially formatted text file, formerly outlook.txt, now (since 2002?) renamed to outlook.hol but essentially the same thing. This contains sections for various countries and a couple of religions, so that you can easily choose the ones you are interested in. This approach has a couple of limitations but some upsides too:
- each holiday is specified as a single date, so even things which have on obvious recurrence pattern must be included several times for different years, which means only a limited number are included in the interests of file size
- it is hugely subject to human error, as we will see
- when there are errors, at least you can easily fix them by editing the file or replacing it with one someone else has done (like me)
- you can add extra sections for “countries” you want to include, such as for a special interest group, or additional company holidays (such as winter shutdown periods)
Outlook 2010 errors
The version of the outlook.hol file which shipped with Outlook 2010 final version (RTM) has some serious flaws in it, affecting at least 23 countries as far as I can see (basically most of Europe as well as Australia and New Zealand), and likely many others I have not been able to identify. As I mentioned above, because of the way this file is used, this is relatively easy to fix as it is not an actual bug in the program, but is still very annoying, especially for anybody that has already imported the incorrect holidays.
After much effort, a couple of phone calls and emails and a long-winded web form, I finally managed to log a support call with Microsoft* – not to get a solution (since I could easily fix the problem for my own individual case and share that with my clients as well) but to alert them to the breadth of the problem so they might come up with a hotfix (as they have done before for similar problems) or include an updated file in the next service pack. So far there seems to be some dragging of feet and although they have said they are hoping to get a hotfix out I got bored waiting and thought I might as well share the information I have so that others might benefit. (Update: MS have now closed the support call, saying a fix will come out with sp1 and no sooner)
I have a client with several hundred users in the UK and thousands worldwide who are migrating from Lotus Domino (Notes) to Exchange right now, and I want to be able to work with them to make sure they get a fixed version of the file before users start adding holidays all over the place.
Four main problem areas
I first noticed the problem with the holidays because of some incorrect dates for Easter Monday. I was also adding school holidays to Outlook and realised the Spring bank holiday in 2012 is not the usual last-Monday-in-May. I also spotted that Christmas and Boxing Day always show on the “correct” dates, when I really need to see the Bank Holidays if this is to be useful at all. In the end this got me digging deeper in the file and I found four main classes of problem relating to the UK and many other countries too:
- Incorrect dates for Easter Monday from 2013 to 2019 (or 2020 in some cases)
- No lieu days shown for Christmas Day, Boxing Day, New Year’s Day when they fall on a weekend
- No additional holidays for Scotland (even though there are holidays for Northern Ireland included in the UK)
- UK Spring Bank Holiday is incorrect for 2012 since there is a special case because of the Queen’s Diamond Jubilee. Update: there is also now an additional public holiday in the UK on 29th April 2011 for the Royal Wedding, although to be fair to Microsoft they could not have known about that since it had not been announced.
Note: I have only checked the English language version of the file so it is possible that for some of the countries I have identified as having incorrect dates, those dates might be correct in the files that would normally be used in those countries in their native language. The cynical side of my head says that may not be the case…
How to fix the holidays file
There are a few different approaches you can take here, which largely depend on whether you just want a one-off fix for your own machine, or a wider-scale rollout for an entire organisation. You can use a file someone else has already corrected (such as the ones I have created and linked to below) or go in and fix, amend and add to the file yourself.
First let’s look at where the file is and how it is formatted so you can make changes to it if you want to.
Finding the outlook.hol file
The outlook.hol file is shared between all users as it is stored along with your installation of Outlook. This is in:
<program files>\Microsoft Office\Office<version>\<LCID>
The <program files> folder would usually be C:\Program Files\ unless you are running a 32-bit version of Office on a 64-bit version of Windows (quite common now for Office 2010 on Windows 7), in which case you need the one in C:\Program files (x86)\.
The <version> is the internal version number, so 2010 is version 14, 2007 was v12, 2003 is v11 and so on (there’s no unlucky version 13!).
The <LCID> is the “locale ID” associated with the country and language of your installation. There is a list of all Locale IDs Assigned by Microsoft on MSDN which you can use to identify which one you need, but notice that the code used here is for the language of your installation not necessarily proofing tools or anything else you configured – so in the case of most (all?) of the English speaking world, the code you are looking for is 1033 for US English, as that is the language the program runs in, even if you have things like British English spell checking enabled (the .lex files used by proofing tools are not stored in LCID folders, but simply named according to language such as MSSP7ES.LEX for the Spanish spell checking dictionary). There is no installation for British English, Strine or any other variation.
The path on my machine running Office 2010 32 bit edition installed in US English, on a Windows 7 64-bit machine is:
C:\Program Files (x86)\Microsoft Office\Office14\1033
In that folder you will find the Outlook.hol file, which any user can access, but only administrators can modify it. So, the best thing to at this stage is simply to copy it then paste it somewhere else such as your My Documents folder or some temporary directory. This is sensible practice anyway, as you probably want to work on a copy of the file rather than editing the original in situ.
If you create your own version or borrow mine you can use this without putting it anywhere special, although I would recommend replacing the original broken
Structure of the holidays file
The file has a very simple structure, with a section for each country which is named inside square brackets followed by a number indicating how many entries there are for that location. For example:
In the built-in file the countries are listed alphabetically, although this makes no difference as Outlook will always present the list in alphabetical order regardless of the way they are arranged in the file. If you want to add an extra country (such as Scotland) or a non-country (for additional company days off perhaps) you can do this anywhere, and the end of the file is probably a good place for these.
Each date entry has the form of a label for the day, a comma then the date in yyyy/m/d format. I have seen documentation claiming that this should be yyyy/mm/dd which is strange since the built-in entries don’t do that, and as far as my tests have shown, you can use either form, but you must use four digit years. One commenter below has pointed out that Outlook 2003 only works with month and day when they have no leading zeroes (although I have not independently tested this) – thanks, Andrew!
So now you can change any incorrect entries to fix them simply by editing the existing text, but what about adding new dates?
Adding extra holidays
You may want to add some additional dates for your country (that sounds surreally patriotic – “Add a holiday – do it for your country, comrade!”) which is easy enough to do, and you can even paste in whole chunks if you want to, but you must remember to change the number of entries at the top next to the country name accordingly.
If you add lines but don’t increase the number, things will appear to work but when you import the holidays Outlook will simply read the number of lines indicated and stop, so you may miss out loads of holidays you wanted to import. For each of the errors described in detail later in this article I have included the number of holidays listed so if you are using these to edit the file yourself you know what number to add. The section for United Kingdom has 172 to start with, so if you extend the dates for some holidays out to 2035 that adds 3 x 7 = 21, then add the lieu days for Christmas, Boxing Day and New Year (3 x 8 = 24), then add the three corrected dates for May/June 2012 minus the incorrect one, plus a Royal Wedding this is a total of +48 = 220 lines total.
If you remove lines for any reason (such as holidays which are not observed across the whole country) and forget to decrease the number, you will get error messages when you try to import, but as far as I can see no damage is done, it simply imports as many as it can and either runs into the next country or the end of the file and stops. If you are editing the file in order for other people to use it you want to make sure you have eliminated any issues like this, so do make sure the number is correct. If you don’t want to see the Battle of the Boyne or St. Patrick’s Day for example you could remove these and decrease the count by 40 (leaving 132 based on the original file, or 180 with my suggested amendments).
Using or sharing your corrected file
Once you have a new version of your holiday file you can simply double click on it to add the holidays from there – you don’t need to put the file in any particular folder or give it a special name. This is fine for a quick one-off but less useful for administrators wanting to help out their whole company’s users. A simple option if you are just distributing a few updates such as additional company dates would be to email the file out to people or put it in a fileshare that users have access to, but this still means that anyone who uses the normal method to add holidays will get the wrong dates too, so you may be better to replace the file on everyone’s machine instead.
The only challenge to getting an updated file out to people is that it needs to replace the existing one, and that is under “Program files” which is not accessible to normal users. If your users are running with local admin rights then you will have no problem with this (although you probably have much bigger problems such as malware to worry about). The easiest solution would normally be to put the file in a share which is available to “authenticated users” to read, and then to include an appropriate line in a machine startup script (applied via group policy most likely) to copy the file down (use xcopy / robocopy so you only copy the file once, not every time the machine starts up). Don’t forget that the file must be called “outlook.hol” for it to be recognised and used by Outlook when users add holidays through the GUI.
If you clone machines as a method of deploying new workstations, make sure the corrected file goes into your “gold” build; if you use other deployment tools or scripts make sure it is included as part of that process.
Note that if Microsoft do issue a service pack, this might overwrite your file with their version (which may or may not be correct), or it might deliberately avoid doing so (this was the case with holiday updates issued for Outlook 2003 for example) and you might miss out on other fixes that you did not know about.
Corrected files and additions available for download
If you don’t particularly want to bother editing the file yourself, I have done most of the hard work for you and fixed all the problems discussed in this article, for all 23 affected countries. I have also extended the dates out to 2035 (for the United Kingdom) for Christmas, Boxing Day and New Year, added Scotland as a country, and thrown in a bonus of dates for System Administrator Appreciation Day (as a separate optional “country” to add).
You may find that the links below appear to fail with a 404 if you just click on them, so you probably need to do a right click > Save Target As (or Save Link As, or whatever terminology your chosen browser uses) then choose where to save the file you want. If this does not seem to work with your browser (Firefox seems fine but IE is giving me grief), try the second link to download it as a .txt file and then change the filename to drop the extension.
Rather than replace the entire file, you might want to just add in the corrected UK dates (and ignore the incorrect ones or manually delete these from your calendar). For this you want the UK additions file which has extra years, lieu days, Scottish holidays and SysAdmin Day (three separate countries so you can add what you want).
There is also a corrected, updated complete version of the dates for the UK mainland only, not Northern Ireland additional holidays.
I have also created a file designed for UK users who also want to be able to add holidays for Scotland, Ireland, Germany, Hungary and Poland without duplication of all the ones which are repeated in all those countries such as Christmas and Easter (yes, I had a specific reason to choose those countries for a client of mine).
You can download a zip file containing all 4 of the above, which might also help with problems some people have had in getting these to save.
Of course, you may not want any of these particular alternatives, but they may give you a useful starting point for ideas and a basis to start copying and pasting from – just remember to make sure the number of entries for a country is correct to avoid any problems.
Outlook 2010 holiday Errors in detail
The errors described briefly above are covered below, including the two different Easter Monday problems, and in most cases I have included my suggested additions if you want to correct your own files, or of course you can simply use my ready-made files with these changes already embedded.
Easter Monday on the same repeated date of 13th April
Despite the obvious rule that Easter Monday is on the day after Easter Sunday this was incorrect in many cases for the UK. 13th April was the correct date for 2009 and will be again in 2020, but the file lists this as the date for 2013 to 2019 as well, despite this not even being a Monday in those years and they got Easter Sunday correct in every case. The fact that they are correct up to 2012 is almost certainly because that was the last year included in the outlook.hol file for Outlook 2007, so someone obviously started from that base and added a bunch of new dates but forgot to change them for each year.
This error is repeated for 6 countries: Andorra, Australia, Ireland, Luxembourg, Slovak Republic and United Kingdom.
The correct dates for Easter Monday from 2013 to 2020 should be those shown below but this is a replacement rather than an addition, so no net difference in number of entries:
Easter Monday on the same date as Easter Sunday
As if that was not enough, for 17 other countries, for all the years from 2013 to 2020 Easter Monday is shown as the same date as Easter Sunday. Yes, you can have twice as many Easter eggs but you have to go to work on Monday morning! Again, dates up to 2012 are fine.
The 17 countries where this version of the Easter Monday problem exists are: Austria, Germany, Hungary, Iceland, Italy, Latvia, Liechtenstein, Monaco, Netherlands, New Zealand (odd that this has a different issue from Australia, I think), Norway, Poland, San Marino, Slovenia, Sweden, Switzerland.
The correct dates are the same as those given above.
Christmas Day, Boxing Day and New Year’s day falling on weekends
OK, strictly speaking the dates for these don’t change so the file is not incorrect in one sense, but since it is a feature to add holidays to my calendar, it is useless if it does not actually achieve that objective. In the UK when these kind of fixed-date holidays fall on a weekend, we get a day in lieu in the following week to make up for it (so the Monday or as is the case this year, both Monday and Tuesday as both dates are at the weekend). I know that in some other countries they don’t apply this kind of rule for all holidays (for example in Germany if a Saint’s day is on the weekend you simply miss out), and in others they take the nearer date (ie. Friday for Saturday, Monday for Sunday). Either way these ought to have been included for several countries and they are not.
So, if we leave the original dates in place, the 24 additional holidays as days “in lieu” from 2009 to 2035 would be:
Christmas Day (lieu day),2010/12/27
Christmas Day (lieu day),2011/12/27
Christmas Day (lieu day),2016/12/27
Christmas Day (lieu day),2021/12/27
Christmas Day (lieu day),2022/12/27
Christmas Day (lieu day),2027/12/27
Christmas Day (lieu day),2032/12/27
Christmas Day (lieu day),2033/12/27
Boxing Day (lieu day),2009/12/28
Boxing Day (lieu day),2010/12/28
Boxing Day (lieu day),2015/12/28
Boxing Day (lieu day),2020/12/28
Boxing Day (lieu day),2021/12/28
Boxing Day (lieu day),2026/12/28
Boxing Day (lieu day),2027/12/28
Boxing Day (lieu day),2032/12/28
New Year’s Day (lieu day),2011/1/3
New Year’s Day (lieu day),2012/1/2
New Year’s Day (lieu day),2017/1/2
New Year’s Day (lieu day),2022/1/3
New Year’s Day (lieu day),2023/1/2
New Year’s Day (lieu day),2028/1/3
New Year’s Day (lieu day),2033/1/3
New Year’s Day (lieu day),2034/1/2
Incidentally, there are probably other holidays which should also have an extra day added in a similar way. Australia Day for example is celebrated on 26th January, but when that is at the weekend it seems to be common practice to have an extra “Australia Day (observance)” in the calendar, but I can’t find a definitive reference to what the rule is (nearest day, following week, or some arbitrary government decision). If you have any specific examples of this kind of thing I’d love to hear from you in the comments, ideally with citations.
No Scottish holidays
There are two main differences for Scottish holidays from the rest of the UK:
- In Scotland they party even harder at New Year, so they need two days to get over it, and when it is a weekend as well they add their usual level of indulgence on top so they also need an extra day in lieu when the 2nd January falls on a weekend
- The August Bank Holiday which is seen by many Brits as signalling the end of summer and the onset of cold wet weather does not make sense in Scotland (I’m not sure if this is because it is always cold and wet up there, or because the change comes earlier), so they have their August holiday on the first Monday of that month rather than the last.
Since Microsoft have managed to include Northern Ireland holidays along with the UK but totally omitted Scotland, I have added Scotland as a country in its own right in my fixed files so you can choose to include these or not, in addition to the rest of the UK. The “2nd January Holiday” is shown on the day it is observed, rather than always on the 2nd (it seemed a bit redundant to label the 2nd January as “2nd January” and then have a lieu day as well). You could of course take this idea further and have a section for all the Scots holidays including those also celebrated south of the border but without any of the Sassenach-only ones such as Late August.
The additional section for Scotland might look like the example below, with 54 entries in total if you include dates up to 2035 as I have done in the downloadable files linked here.
2nd January Holiday,2009/1/2
2nd January Holiday,2010/1/4
2nd January Holiday,2011/1/4
2nd January Holiday,2012/1/3
Summer Bank Holiday,2033/8/1
Summer Bank Holiday,2034/8/7
Summer Bank Holiday,2035/8/6
UK Spring Bank Holiday 2012 and Royal Wedding 2011
In the UK we have two national holidays in May – the May Bank Holiday on the first Monday of the month, and the Spring Bank Holiday on the last Monday. The outlook.hol file follows this pattern correctly, and this would be fine except for a spanner thrown into the works because of the Queen’s Diamond Jubilee in 2012. Firstly we get an extra holiday overlooked by the team at Microsoft on 5th June 2012, and secondly the end of May holiday has been moved to 4th June to act as a “bridging day” and give us a four day weekend. I can forgive people outside the UK for not knowing this (or frankly my dear for not giving a damn). I had no idea until I was looking at school holidays, and from the dozen or so people I mentioned this to since, none had any idea this was happening.
So, we need to add two dates to the holiday file, and I would suggest you should also explicitly include the non-Bank holiday so that it is clear to people who might otherwise assume it is just missed out and add it for themselves and take the wrong day off. In my amended files I have taken out the wrong one and replaced it with the explicit NOT shown below, so the net difference is two additions. The three added dates are:
NOT a Bank Holiday see 4th June,2012/5/28
Spring Bank Holiday,2012/6/4
Queen’s Diamond Jubilee,2012/6/5
We also need to add another extra one for the public holiday we have been granted to help us celebrate the marriage of Prince William and Kate Middleton:
Addition information and references
The Bank Holiday dates for the UK and Scotland (for the next few years at least) can be confirmed at the official UK.gov page here: http://www.direct.gov.uk/en/Governmentcitizensandrights/LivingintheUK/DG_073741 (=http://tinyurl.com/5kdoa4)
*About that support ticket: because I am an MCT I get two free support tickets with Microsoft. I had to use one of them as the only way I could make them aware of the problem as an official bug report, rather than risk losing it in the noise of the support forums. If I had been a regular customer who would have had to pay to do this I think I might not have bothered.