This template is rated as alpha. It is ready for third party input, and may be used on a few pages to see if problems arise, but should be watched. Suggestions for new features or changes in their input and output mechanisms are welcome. |
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.
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))
Optionally try |format=infobox
in an infobox
Example:
((Calendar date |holiday=Rosh Hashanah |year=2019 |format=infobox))
Required
|holiday=Rosh Hashanah
or |event=Rosh Hashanah
|year=2019
Options
|df=dmy
). Defaults are set in Module:Calendar date/events|format=infobox
in an infobox|cite=
) a citation is added.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))"
|year=
argument, then executes the datasource
code. 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"
wikidata - <to be developed - see talk page for more info>
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.
The |year=
can accept templates.
((Moveable date |holiday=Tu BiShvat |year=((CURRENTYEAR))))
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))
An offset date can be calculated for a given moveable date using #time parser function.
((Moveable date |holiday=Ascension Thursday |df=dM |year=((CURRENTYEAR))))
((#time: d M Y| ((Moveable date |holiday=Ascension Thursday |df=d |year=((CURRENTYEAR)))) + 1 day))
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 |