| This template is rated as beta. It is considered ready for widespread use, but as it is still relatively new, it should be applied with some caution to ensure results are as expected. |
| Template does not support cross-year boundaries (Hanukkah bug) |
| This template uses Lua: |
{{Calendar date}} aka {{Moveable date}} is for displaying the calendar date of holidays or events that move annually, that do not have a fixed day and month of occurrence.
Examples include the Jewish new year Hanukkah which is based on a non-Gregorian calendar system. The June solstice wobbles celestially.
Usage
editThe template requires only two arguments, the holiday/event name (|holiday= or |event= are synonymous) and the year |year= in the Gregorian calendar.
Example:
{{calendar date |holiday=Rosh Hashanah |year=2019}}- Produces:
- Sunset, 29 September 2019 – nightfall, 1 October 2019
Optionally try |format=infobox in an infobox
Example:
{{Calendar date |holiday=Rosh Hashanah |year=2019 |format=infobox}}- Produces:
- Sunset, 29 September –
nightfall, 1 October
- Sunset, 29 September –
Options
editRequired
- holiday or event
- Name of an available holiday. Ex.
|holiday=Rosh Hashanahor|event=Rosh Hashanah - year
- Year of event. Ex.
|year=2019
Options
- df
- Date Format options can be "dmy", "mdy" or "iso" (
|df=dmy). Defaults are set in Module:Calendar date/events - format
- Use
|format=infoboxin an infobox - cite
- If set to anything (
|cite=) a citation is added.
Adding or editing holidays
editHolidays are configured in Module:Calendar date/events which has additional documentation and examples.
There are two holiday types: "calculator" and "localfile".
calculator - Moveable dates are determined with a calculator plugin. For example Rosh Hashanah uses the {{Hebrew year}} calculator:
datatype = "calculator"datasource = "{{#time:Y-m-d|@{{Hebrew year/rhdatum|{{#timel:xjY|YYYY-11-1}}}}-1 days}}"
- When the template runs, it replaces "YYYY" with the value of the
|year=argument, then executes thedatasourcecode. Calculators can be any available on Wikipedia, so long as it accepts a year value and returns a date in ISO format. All calculators are third-party plugins, the template does not do calculations.
localfile - When a calculator is not possible or unavailable, moveable dates can be stored in local files. For example with Tu BiShvat:
datatype = "localfile"datasource = "Module:Calendar date/localfiles/Tu BiShvat"
- The file Module:Calendar date/localfiles/Tu BiShvat contains a static list of dates.
wikidata - <to be developed - see talk page for more info>
Holidays with multiple aliases
editIf a holiday has multiple aliases, and it's desired the template support them with the |holiday= argument, create multiple entries in Module:Calendar date/events one for each name.
Dynamic dates
editThe |year= can accept templates.
- For example, to show the current year for Tu BiShvat use {{CURRENTYEAR}}:
{{Moveable date |holiday=Tu BiShvat |year={{CURRENTYEAR}}}}
- Produces
- Sunset, 1 February 2026 – nightfall, 2 February 2026
Other useful templates are {{LASTYEAR}} and {{NEXTYEAR}}.
Combined they can be used in infoboxes to fully automate updates, example from the Hanukkah infobox:
|date{{LASTYEAR}} = {{Moveable date |holiday=Hanukkah |year={{LASTYEAR}} |format=infobox |cite=}}|date{{CURRENTYEAR}} = {{Moveable date |holiday=Hanukkah |year={{CURRENTYEAR}} |format=infobox}}|date{{NEXTYEAR}} = {{Moveable date |holiday=Hanukkah |year={{NEXTYEAR}} |format=infobox}}|date{{NEXTYEAR|2}} = {{Moveable date |holiday=Hanukkah |year={{NEXTYEAR|2}} |format=infobox}}
Offset date
editAn offset date can be calculated for a given moveable date using #time parser function.
- For example, to show the date of the Friday following Ascension Thursday:
{{Moveable date |holiday=Ascension Thursday |df=dM |year={{CURRENTYEAR}}}}{{#time: d M Y| {{Moveable date |holiday=Ascension Thursday |df=d |year={{CURRENTYEAR}}}} + 1 day}}- Produces
- 14 May 2026
- 15 May 2026
Tracking categories
editVisualEditor TemplateData
editWhat is this? See https://www.mediawiki.org/wiki/Help:TemplateData
A template for displaying moving calendar dates
| Parameter | Description | Type | Status | |
|---|---|---|---|---|
| Name of holiday/event | holiday | The name of the holiday or event
| String | required |
| Holiday year | year | The year to display the holiday dates for
| String | required |
| Display format option | format | Options for controlling display output such as for an infobox
| String | optional |
| Date Format | df | Date format to use when displaying dates
| String | optional |
External links
edit- Simple holidays by Mark Seemann