Template:Countdown-ymd/sandbox
Error: invalid date and/or time
This is the template sandbox page for Template:Countdown-ymd (diff). |
This template uses Lua: |
Similar to {{countdown}}
, {{countdown-ymd}}
renders a countdown in years, months, days, hours, minutes, and seconds. It also offer different text handling and supports UTC offsets.
Usage
[edit]The minimal form is:
{{countdown-ymd |year=event year}}
which gives:
- Time to event: 1 month, 29 days, 23 hours [refresh]
Parameters
[edit]{{countdown-ymd}}
renders an output that is the difference between the date / time of the article's last refresh to the date / time of a future event.
event date / time
[edit]12hr clock | 24hr clock | |
---|---|---|
am/pm | am | pm |
midnight | 00 | |
noon | 12 | |
1 | 01 | 13 |
2 | 02 | 14 |
3 | 03 | 15 |
4 | 04 | 16 |
5 | 05 | 17 |
6 | 06 | 18 |
7 | 07 | 19 |
8 | 08 | 20 |
9 | 09 | 21 |
10 | 10 | 22 |
11 | 11 | 23 |
Date / time calculations are made using UTC time provided by WikiMedia's servers. Future event date / times are assumed to begin or end at the UTC time specified in these parameters. |utc offset=
can ease the calculation burden.
- year: required; four-digit year in which the event takes place
- month: required if day is specified; one- or two-digit month in which the event takes place; January = 1
- day: required if hour is specified; one- or two-digit day on which the event takes place; 1–28, 29, 30, or 31 depending on month and year
- hour: required if minute is specified; one- or two-digit hour at which the event takes place; uses 24-hour clock; 0–23; defaults to midnight (00h)
- minute: required if second is specified; one- or two-digit minute at which the event takes place; 0–59; defaults to on the hour (hh:00)
- second: one- or two-digit second at which the event takes place; 0–59; defaults to on the minute (hh:mm:00)
- duration: time in the form of a number followed by a unit keyword that, when added to the event start date / time, identifies the event end date / time; accepted unit keywords are
day
,hour
,minute
,second
in both singular and plural forms; default issecond
- utc offset: hours and minutes difference between UTC and local time zone
presentation
[edit]The presentation parameters allow users to customize the template output to suit particular needs.
- color: sets the color of the date / time digits in the rendered output; default is blue
- event lead: requires duration; text that precedes the countdown when the countdown refers to the end of the event; default is: 'Event ends in' (without quotes)
- event tail: requires duration; text that follows the countdown when the countdown refers to the end of the event; terminal punctuation is not supplied
- expired: text to be displayed when the event date / time has passed; default is 'Event time has passed.' (without quotes)
- lead: text that precedes the countdown when the countdown refers to the event; defaults: 'Time to event:' (without quotes); when duration is set: 'Event begins in' (without quotes)
- tail: text that follows the countdown when the countdown refers to the event; terminal punctuation is not supplied
examples
[edit]In the following examples, the countdown time to the event is determined from the date / time that this page was last refreshed. That date / time is:
- Sat, 02 Nov 2024 00:08:56 +0000
- 2024-11-02T00:08:56 (UTC) (ISO 8601 format)
countdown
[edit]Countdown to tomorrow at 6 pm (18:00:00 UTC) → 2024-11-03T18:00:00 (UTC)
{{countdown-ymd |lead=none |year=2024 |month=11 |day=03 |hour=18 |minute=0 |second=0}}
- 1 day, 17 hours, 51 minutes, 4 seconds [refresh]
Countdown to 3 May 2025 at 6pm (18:00:00 UTC) → 2025-05-03T18:00:00 (UTC)
{{countdown-ymd |lead=none |year=2025 |month=05 |day=03 |hour=18}}
- 6 months, 1 day, 17 hours, 51 minutes [refresh] –
{{countdown-ymd}}
reduces the rendered precision when|minute=
and / or|second=
are not specified
- 6 months, 1 day, 17 hours, 51 minutes [refresh] –
Countdown to 2 November 2024 2am
{{countdown-ymd |lead=none |year=2024 |month=11 |day=02 |hour=02}}
- 1 hour, 51 minutes, 4 seconds [refresh] – when less than 24 hours until the event,
{{countdown-ymd}}
shifts to an hours minutes and seconds display regardless of the state of|minute=
and|second=
- 1 hour, 51 minutes, 4 seconds [refresh] – when less than 24 hours until the event,
duration
[edit]An event can be a single point in time as the deadline for filing yearly tax returns, or it can have beginning and end date / times. For this latter, {{countdown-ymd}}
uses |duration=
. For events that are not single point events, the start time is defined by the basic date / time parameters and the end time is the start time plus duration (a number) of duration units. The supported duration units are seconds, minutes, hours, and days. For an event that lasts two weeks we write |duration=14
|duration unit=days
.
Default rendering for an event that lasts two hours but hasn't yet begun:
{{countdown-ymd |duration=2 hours |year=2024 |month=11 |day=03 |hour=18 |minute=0 |second=0}}
- Event begins in 1 day, 17 hours, 51 minutes, 4 seconds [refresh]
Default rendering for an event in progress that lasts two hours but hasn't yet ended:
{{countdown-ymd |duration=2 hours |year=2024 |month=11 |day=01 |hour=23 |minute=0 |second=0}}
- Event ends in 51 minutes, 4 seconds [refresh]
utc offset
[edit]|utc offset=
eliminates the need to calculate UTC time from local time if the UTC offset of the local time is known. For example, Phoenix, Arizona is in Mountain Time Zone or UTC−07:00. An event that occurs a noon local time in Phoenix occurs at 7pm UTC.
Countdown to 1 November 2024 8pm local time in Phoenix
{{countdown-ymd |utc offset=-7:00 |lead=none |year=2024 |month=11 |day=01 |hour=20}}
- 2 hours, 51 minutes, 4 seconds [refresh]
The Phoenix example was chosen because Arizona does not observe daylight saving time. For those locations that do, editors must account for the time difference when setting |utc offset=
.
presentation
[edit]{{countdown-ymd}}
has several parameters that allow editors to customize the appearance of the rendered template.
- color: values can be RGB hex codes or any of the CSS colors
- lead and tail provide text that precedes and follows the countdown while the countdown is in progress. If lead text is not desired,
|lead=none
will suppress the default lead text.{{countdown-ymd
- |
lead='''lead''' precedes the countdown:
- |
tail=which is followed by '''tail''' while the countdown is in progress.
- |
year=2024 |month=11 |day=01 |hour=23 |minute=0 |second=0}}
- lead precedes the countdown: 1 day, 17 hours, 51 minutes, 4 seconds which is followed by tail while the countdown is in progress. [refresh]
- event lead and event tail provide text that precedes and follows the countdown while an event is in progress. These parameters require duration without which they are ignored. If leading event text is not desired,
|event lead=none
will suppress the default event lead text.{{countdown-ymd
- |
event lead='''event lead''' precedes the countdown:
- |
event tail=which is followed by '''event tail''' while the event is in progress.
- |
duration=2 |duration unit=hours
- |
year=2024 |month=11 |day=01 |hour=23 |minute=0 |second=0}}
- Event has ended.
- expired provides text to take the place of the countdown once the countdown is completed. If text noting the completion of the countdown is not desired,
|expired=none
will suppress the default completion text.{{countdown-ymd
- |
expired='''expired''' takes the place of a completed countdown.
- |
year=2024 |month=11 |day=01 |hour=18 |minute=0 |second=0}}
- expired takes the place of a completed countdown.
error messages
[edit]{{countdown-ymd}}
emits only one error message:
- Error: invalid date and/or time
For dates, the valid combinations of parameters are:
|year=
or|year=
|month=
or|year=
|month=
|day=
all other date combinations are erroneous.
If time is included, all of the date parameters are required and one of these combinations of time parameters:
|hour=
or|hour=
|minute=
or|hour=
|minute=
|second=
all other time combinations are erroneous.
Countdown to 30 February 2025
{{countdown-ymd |lead=none |year=2025 |month=2 |day=30}}
- Error: invalid date and/or time
see also
[edit]{{countdown}}
– renders a similar countdown in years, weeks, days, hours, minutes, and seconds.