Template:Calendar date
| 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
[edit]The 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
[edit]Required
- 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
[edit]Holidays 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
[edit]If 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
[edit]The |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, 12 February 2025 – nightfall, 13 February 2025
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
[edit]An 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
- 29 May 2025
- 30 May 2025
Tracking categories
[edit]VisualEditor TemplateData
[edit]What 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