This page allows you to do some date calculations. You can:
   +  Add or subtract an interval to a date (A + B C);
(to subtract use negative values in the interval)
Δ  calculate the interval between two dates (A - C B);
  copy the bottom result to the top (C A);
(when calculating intervals A & C are swapped).
The active operation (+ or Δ) and the corresponding results are indicated in yellow.

The dates are –of course– expressed in years, months and days;  if you enter an invalid date (e.g. month=0) the corresponding field will be marked red but the calculation will still be correct (assuming month=12 of the previous year).
The intervals are expressed in years and/or months and/or days and weeks (however see Inconsistencies about problems with intervals).  See Introduction about absolute dates and intervals.  The calculation takes leap years into account (see Leap days).

The calculation also provides the name of the day in the week (Monday, …), the day number in the year and the week number.

The official (ISO) standard for the denotation of a date has the format:  yyyy–mm–dd (all numbers).  That is also the format used here;  it avoids the notational ambiguity of American versus European dates, and allows easy sorting as it starts with the most significant part.

Left menu:

Both the Holidays and the Calendar are always updated for the date mentioned in C.


Date and time are basically the same concept;  time is the more detailed part of date/time (in scientific terms:  the least significant part).  Then one has to realise that there are two types of date/time which should not be confused:

Relative date/times can be added and subtracted or even multiplied and divided without limit, but for absolute date/times only two values can be subtracted, resulting in a relative date/time.  A relative date/time can be added to or subtracted from an absolute date/time.  That is all.

This page ignores time and restricts itself to absolute and relative dates as these have some peculiarities (see Inconsistencies).


Dates are commonly expressed in years, months and days.  A peculiar phenomenon is that not all months have the same size:  a month is 30 days or 31 days, or 28 days for February, or 29 in a leap year.  We are used to this fact and regard it as annoying, but it presents a problem.

Suppose that an event will take place after 5 days.  If the interval starts on April 27th, it results in May 2nd;  no problem.  But when we start calculating with months we get inconsistencies.  For example, when the interval is 1 month and 5 days, we can first add the 5 days and then the month;  it would result in June 2nd (36 days apart).  However, when we first add the month and then the 5 days, we get June 1st (35 days apart).  Now pitch in February and leap years and see where all the fun ends.

Obviously we can not solve the problem of months with varying sizes, but we can handle it consistent.  I.e. make sure that if we add an interval and subsequently subtract that same interval, we end up on the original starting date.

A similar problem occurs with years, which are either 365 or 366 days long.  Note that the ambiguity is not with absolute dates (which are defined by calendar rules regarding leap years), but with relative months and years.  When relative dates are expressed in days –or weeks which are just groups of 7 days– they are consistent.

Leap Years

The problem originates from the fact that the time for earth to circle the sun (i.e. a year) takes 365.24222 revolutions of earth around its own axis (i.e. days).  So a year is 365 days and a bit.  This error of 0.24222 day per year accumulates to 0.96888 day after 4 years.  It was therefore ordered (by Julius Caesar) that every fourth year will be 1 day longer:  the leap year.  The resulting error is then reduced to -0.006778 day per year.  In later calendar reforms (see History) there were further exceptions to keep the seasons synchronised with the calendar.

The result is (according to the Gregorian calendar) that it is a leap year when:

Then there is still a small error but by the time that gets significant, the earth turns slower round its axis and revolves faster around the sun (if humankind is still to witness that).
The correction is always a single extra day, and always on February 29th.

Now you understand the confusion about the year 2000:  it was a double exception on the leap year scheme, and therefore still a leap year.

A year (365/366 days) corresponds to 52 weeks + 1 or 2 days.  This means that the day of the week (Monday, …) shifts one day per year, or two days in a leap year.  The 5 days shift per 4 years results in a resyn­chro­ni­sation after 28 years (ignoring the leap year exceptions after 100 years).


In particular for farmers, it is important to know when to sow and when to harvest, i.e. to have a calendar synchronised with the seasons:  a solar based calendar.  The old Egyptians already had a calendar with 12 months of 30 days plus 5 special additional days (much more sensible than we have today).

In other civilizations the moon was the determining factor (tides, fishing/hunting, menstrual):  moon based calendars.  The ancient Greek used one, and the Romans used another.  The same phase of the moon returns after 29.53058 days (i.e. a moon month of 29½ days), so they had a year of 354.4 days and some complex method to periodically resynchronise the calendar with the seasons.

Our calendar is based on the Roman moon based calendar but corrected for the sun's seasons ('luni-solar' calendar).  The Romans started the year in spring (which makes sense) with Martius, followed by Aprilis, Maius, Iunius, Quintilis, Sextilis, September, October, November, December, Ianuarius and Februarius.  Now you understand the origin of the names for most months (and why September suggests the 7th month while it is the 9th nowadays), and why the odd leap day is in February.

In 46 BC Julius Caesar ordered a calendar reform (i.e. the Julian calendar) which continued the Roman months of unequal sizes (approximation of the lunar cycle of 29½ days by alternating 29 and 30 days, but 1 day longer to get 12 months in a year;  blame on Julius, but it was a 'committee decision') and a leap day correction every fourth year.  He also introduced a week of 7 days (of Jewish origin;  before that the Romans had an 8 day week, the Greek a 5 day week, and India a 10 day week) and the fact that Easter was held on a varying date (also of Jewish origin;  mind you — this was Before Christ.  See Easter).

After many years the deviation due to this simple leap day correction scheme became significant again, so in 1582 pope Gregorius XIII decided to correct the difference accumulated so far in one jump (after 4 October came 15 October) and to introduce the leap year scheme we have today (see Leap years).  Note that the Gregorian (Christian) calendar was not applied everywhere at the same time;  in England (except Schotland) it was introduced in 1752, Japan in 1873, Russia in 1918, Greece in 1924, Turkey in 1927 and China in 1929.  In some countries the introduction varied with the region, e.g. in the Netherlands by province:  N-&Z-Holland, Zeeland, Brabant & Limburg in december 1582 / january 1583, Gelderland, Utrecht, Overijssel, Groningen & Friesland in 1700, and Drenthe in 1701.  And even then not all on the same date;  see Gregorian introduction dates (Dutch).
Note also that many countries still use the Islamic calendar (purely moon based;  354/355 days per year).  The Islamic new year shifts back about 11 days per year;  after 33-34 years they synchronise again.

Apart from the metric system, the French revolution gave also birth to a new calendar system:  the Republican calendar.  It started on 1793-10-24, but Napoleon abolished it already on 1806-1-1 (must have been the shortest calendar system ever applied).

As the calculations on this page are based on the Gregorian calendar, the results are not valid for any year before 1583.  For conversion between various calendar systems, see Calendar Convertor


Easter –in Christianity– is defined by the Roman Catholic Church to be on the first Sunday after full moon in spring.  Note however, that according to the Church, spring always starts on 21st of march (astronomically this is not always true), and the moon position is derived from calculations simplified by the Church (the actual moon orbit is quite complex due to its eccentricity and significant disturbances by the gravity from earth and sun).

Other non-fixed Church holidays are relative to Easter Sunday, e.g. Ascencion day is 39 days after Easter, and Whit Sunday is 49 days later.

To get a list of all holidays –including these non-fixed Christian Church holidays– for the year mentioned in C, click on the Holidays-button on the left.  See also Holidays.

Week Numbers

Week numbers are often used in commercial life (e.g. for planning).  By (ISO) definition, the first working day of the year falls into week 1.  And January 1st is not a working day but a holiday.  So if January 1st falls on a Thursday, it will be week 1.  If January 1st is a Friday, only the next Monday will start week 1, and January 1st is in week 0 or the last week of the previous year.

As a year has 365 or 366 days, corresponding to 52 weeks plus 1 or 2 days, a year can have 53 weeks according to this definition (i.e. including partial weeks at the beginning and end of the year).


The list of holidays varies significantly depending on the country.  This page provides the official holiday list for The Netherlands:  a few fixed holidays and some (Easter-based) Church holidays (for a list click on the Holidays-button on the left).  However, you can provide your own list (it is a bit cumbersome as the simple solution is blocked due to security reasons).

To specify a list of holidays, save the main page (Date.html), the help-file (this (sub-)page;  Date_hlp.html) and the XML-file (holiday list;  Date.xml in a particular directory.  Use the saved version of Date.html from now on and adapt the XML-file to your needs;  it uses the following format:
<?xml version="1.0" encoding="windows-1252" ?> <holidays>prologue
<date month="1"  day="1"  text="New Year's day" />
<date month="12" day="25" text="Christmas day" />
format for fixed dates
<date easter="0"  text="Easter Sunday" />
<date easter="-7" text="Good Friday" />
<date easter="39" text="Ascension day" />
format for Easter-based dates
<date weekday="7" month="11" day="27" text="Advent (first Sunday after 26th Nov.)" />
<date weekday="2.2" month="9" day="1" text="Prinsjesdag (3rd Tuesday in Sep." />
<date weekday="0" month="3" day="0" text="Last day in Feb." />
<date weekday="-7" month="3" day="31" text="Summertime" />
format for relative dates
weekday= ±[1..7] {.weeks}

In the Status bar (at the bottom of the browser window) you may see an appropriate message.