Bruger:NisJørgensen/sandkasse/Skabelon:Dato/doc
Dette er dokumentationsundersiden til Bruger:NisJørgensen/sandkasse/Skabelon:Dato. Denne side indeholder information om brug, kategorier samt andet indhold, som ikke er en del af den oprindelige bruger skabelonside. |
Denne skabelon bruges på 39+ sider, og derfor vil ændringer blive bemærket af mange. Vær venlig at afprøve enhver ændring i skabelonens /sandkasse eller /test-undersider, eller i din egen brugerunderside. Du bør også overveje at diskutere ændringer på diskussionssiden før du implementerer dem. |
Brug
[redigér | rediger kildetekst]Beskrivelse
[redigér | rediger kildetekst]Denne skabelon konverterer en dato til et af de standardformater der bruges på den danske Wikipedia.
Denne skabelon bør kun bruges indirekte, gennem andre skabeloner.
Hvis du vil have sorterbare datoer til brug i en tabel, s brug i stedet {{Dts}} instead.
Syntax
[redigér | rediger kildetekst]Denne skabelon tager op til to parametre, der begge er valgfrie.
{{NisJørgensen/sandkasse/Skabelon:Dato|
<dato der skal formateres>|<datoformat>}}
- <dato der skal formateres> er en (valgfri) dato, der skal formateres.
- Hvis parameteren er tom eller ikke defineret, bruger skabelonen dags dato.
For eksempel producerer{{Dato}}
teksten 11. januar 2025. Hvis du vil undgå at bruge dags dato, hvis datoen ikke er angivet, så brug - Hvis der er angivet en dato, men skabelonen ikke kan genkende formatet, returneres teksten uændret. De fleste datoer vil dog kunne genkendes, inklusiv alle de formater, der normalt bruges på (dansk og engelsk?) Wikipedia. Utallige variationer genkendes også, herunder forkortede månedsnavne og manglende/alternativ tegnsætning.
- Noter:
- Nogle tekststrenge konverteres, selvom de ikke repræsenterer rigtige datoer, og nogle datoer konverteres ikke, selvom de er korrekter. Se #kendte problemer nedenfor.
- Kun datoer mellem 1. januar 1000 og 31. december 9999 er understøttet. Datoer med 2-cifrede årstal konverteres til at ligge i periode 1970-2069. Andre datoer med årstal udenfor spændet 1000-9999 vil blive behandlet som om anden parameter var "none", dvs at datoen returneres uændret.
- Hvis parameteren er tom eller ikke defineret, bruger skabelonen dags dato.
Når der bruges numeriske månedsangivelser, er de gyldige inputformater: MM/DD/ÅÅÅÅ, DD-MM-ÅÅÅÅ, DD.MM.ÅÅÅÅ, ÅÅÅÅ/MM/DD, ÅÅÅÅ-MM-DD, MM/DD/ÅÅ, ÅÅ-MM-DD, DD.MM.ÅÅ, Ugyldige formater er blandt andet DD/MM/ÅÅÅÅ, MM-DD-ÅÅÅÅ, MM.DD.ÅÅ, ÅÅÅÅ.MM.DD, MM.DD.ÅÅÅÅ, DD-MM-ÅÅ, ÅÅ/MM/DD, DD/MM/ÅÅ, ÅÅ.MM.DD.
- <datoformat> bestemmer datoformatet som bruges i resultatet. Lovlige værdier for den anden parameteren er:
DMY
som giver d. mmmm åååå (e.g. 31. maj 2007). Dette er standarden, som også bruges hvis intet format angives.MDY
som giver mmmm d, åååå (e.g. maj 31, 2007)YMD
som giver åååå mmmm d (e.g. 2007 maj 31)ISO
som giver en dato i ISO 8601-format åååå-mm-dd (e.g. 2007-05-31)none
giver ingen formatering, første parameter returneres uændret.
- Hvis der angives en dato, men intet format, bruges formatet d. mmmm åååå, som det (fx) ses på diskussionssider. Når ingen dato angives, udskrives dags dato, uden året, enten i formattet d. mmmm (ved formatet
DMY
) eller mmmm d (vedMDY
,YMD
ogISO
). - 'Noter:
-
- Although these are the four formats supported by MediaWiki's date autoformatting mechanism, only
DMY
/lDMY
andMDY
/lMDY
are in accordance with the English language Wikipedia's . The use ofISO
/lISO
(ISO 8601) format within article prose is expressly discouraged by the Manual of Style; this format should only be used in tables, lists, or references. (Bemærk, at dette afsnit ikke er oversat. Oversætteren har ikke kunnet finde en autoritativ kilde til dawiki's datopolitik.) - For hvert format er resultatet præcis et samme som ved brug af MediaWikis autoformatering.Datoerne bliver imidlertid IKKE håndteret af denne, selv ikke når de linkes. Det gør det muligt at give datoerne et konsistent udseende, uafhængigt af om de linkes eller ikke.
- Wikipeia cacher den aktuelle version af siderne, og skabelonen kan derfor til tider vise datoen hvor siden blev tilføjet cachen, snarere end den aktuelle dato.
- Although these are the four formats supported by MediaWiki's date autoformatting mechanism, only
Eksempler
[redigér | rediger kildetekst]Gyligt input
[redigér | rediger kildetekst]Format | Input | Output |
---|---|---|
Ikke specificeret | {{dato|2006-08-04}}
|
4. august 2006 |
{{dato|Aug 4, 2006}}
|
4. august 2006 | |
{{dato|4 August 2006}}
|
4. august 2006 | |
{{dato|4 August}}
|
4 august | |
{{dato|Aug 4}}
|
4 august | |
{{dato}}
|
11. januar 2025 | |
{{dato|}}
|
11 januar (manglende år) | |
{{dato|2=}}
|
11. januar 2025 | |
DMY-format | {{dato|2006-08-04|DMY}}
|
4. august 2006 |
{{dato|Aug 4, 2006|DMY}}
|
4. august 2006 | |
{{dato|4 August 2006|DMY}}
|
4. august 2006 | |
{{dato|4 August|DMY}}
|
4 august | |
{{dato|Aug 4|DMY}}
|
4 august | |
{{dato||DMY}}
|
11 januar (manglende år) | |
{{dato|2=DMY}}
|
11. januar 2025 | |
{{dato|{{dato}}|DMY}}
|
11. januar 2025 | |
MDY-format | {{dato|2006-08-04|MDY}}
|
august 4, 2006 |
{{dato|Aug 4, 2006|MDY}}
|
august 4, 2006 | |
{{dato|4 August 2006|MDY}}
|
august 4, 2006 | |
{{dato|4 August|MDY}}
|
august 4 | |
{{dato|Aug 4|MDY}}
|
august 4 | |
{{dato||MDY}}
|
januar 11 (manglende år) | |
{{dato|2=MDY}}
|
januar 11, 2025 | |
{{dato|{{dato}}|MDY}}
|
11. januar 2025 | |
YMD-format | {{dato|2006-08-04|YMD}}
|
2006 august 4 |
{{dato|Aug 4, 2006|YMD}}
|
2006 august 4 | |
{{dato|4 August 2006|YMD}}
|
2006 august 4 | |
{{dato|4 August|YMD}}
|
august 4 | |
{{dato|Aug 4|YMD}}
|
august 4 | |
{{dato||YMD}}
|
januar 11 (manglende år) | |
{{dato|2=YMD}}
|
2025 januar 11 | |
{{dato|{{dato}}|YMD}}
|
11. januar 2025 | |
ISO-format | {{dato|2006-08-04|ISO}}
|
2006-08-04 |
{{dato|Aug 4, 2006|ISO}}
|
2006-08-04 | |
{{dato|4 August 2006|ISO}}
|
2006-08-04 | |
{{dato|4 August|ISO}}
|
--08-04 | |
{{dato|Aug 4|ISO}}
|
--08-04 | |
{{dato|{{#time: --m-d}}|ISO}}
|
--01-11 (manglende år) | |
{{dato|2=ISO}}
|
2025-01-11 | |
{{dato|{{dato}}|ISO}}
|
11. januar 2025 | |
none-format | {{dato|2006-08-04|none}}
|
2006-08-04 |
{{dato|Aug 4, 2006|none}}
|
Aug 4, 2006 | |
{{dato|4 August 2006|none}}
|
4 August 2006 | |
{{dato|4 August|none}}
|
4 August | |
{{dato|Aug 4|none}}
|
Aug 4 | |
{{dato||none}}
|
(blank) | |
{{dato|2=none}}
|
(blank) | |
{{dato|{{dato}}|none}}
|
11. januar 2025 |
Other acceptable input
[redigér | rediger kildetekst]A wide variety of other input formats are handled correctly by the template:
Input | Output |
---|---|
{{dato|1st December 2008}} (ordinal 'st')
|
1. december 2008 |
{{dato|June 24 2006}} (missing comma)
|
24. juni 2006 |
{{dato|24 june 2006}} (lowercase month name)
|
24. juni 2006 |
{{dato|24 jun}} (abbreviated month name)
|
24 juni |
{{dato|June 2006}}
|
juni 2006 |
Invalid input
[redigér | rediger kildetekst]Input strings that the template cannot format are returned unaltered. This includes strings containing characters such as square brackets, so any links will result in unformatted output.
Input | Output |
---|---|
{{dato|23007-031-24}}
|
23007-031-24 |
{{dato|[[1 December]] [[2008]]|YMD}}
|
1 December 2008 |
{{dato|1 December [[2008 in film|2008]]|MDY}}
|
1 December 2008 |
{{dato|2008 December 1|DMY}}
|
2008 December 1 (expected: 1. december 2008) |
{{dato|2008 December 1|MDY}}
|
2008 December 1 (expected: december 1, 2008) |
{{dato|2008 December 1|ISO}}
|
2008 December 1 (expected: 2008-12-01) |
Known issues
[redigér | rediger kildetekst]- Out-of-range values are "fixed"
- The PHP library that this template ultimately depends on converts out-of-range values to the next-best in-range values. As a result, some date-like values that are not actually valid dates get converted anyway. These include...
- all dates with zero day-of-the-month. Such a "zero-th" day of a month gets converted into the last day of the previous month.For example,
{{dato|June 0, 2006}}
results in31. maj 2006
.Similarly,{{dato|0 January 2006}}
becomes31. december 2005
. - all dates with day-number values that exceed the number of days in the specified month cause the date to be incremented into the next month.For example,
{{dato|31 November 2008}}
results in1. december 2008
, since November has only 30 days.Similarly,{{dato|February 29, 2007}}
results in1. marts 2007
, since 2007 was not a leap year.Note: Due to a parser peculiarity in the PHP library, 'December 32' and '32 December' are treated differently, and the latter results in an error (which causes this template to emit it unchanged), and only the former "overflows" into the next month.
- all dates with zero day-of-the-month. Such a "zero-th" day of a month gets converted into the last day of the previous month.
- Non-Gregorian dates are treated as Gregorian
- The PHP library that this template ultimately depends on assumes that all dates, irrespective of context, are Gregorian calendar dates. Consequently:
- some dates that would be valid in a non-Gregorian context are treated as out-of-range dates and converted to the next-best in-range values. For example,
{{dato|30 February 1712}}
results in1. marts 1712
because – even though 30 February 1712 is a valid date in the Swedish calendar – February 1712 had only 29 days in the Gregorian calendar. - ten dates are not reformatted. These are 29 February & 1 March of the years 1000, 1100, 1300, 1400, 1500. The cause of this is the same as that of the Swedish 30 February 1712.
- some dates that would not be valid in some contexts are converted normally. For example, 29 February 1912 or 1 February 1918 are not valid in a Russian context, but perfectly valid in the Gregorian one.
- some dates that would be valid in a non-Gregorian context are treated as out-of-range dates and converted to the next-best in-range values. For example,
- ISO 8601 format not suitable for years before 1583
The ISO 8601 standard requires mutual agreement between those using the format to use years earlier than 1583. Since no agreement has been obtained from our readers, that format should not be used for such years, nor for any date not in the Gregorian calendar.
- Output provided for ISO dates when year is missing
The current 2004 version of ISO 8601 does not permit omitting from the year, but this template will produce a supposedly ISO output when the year is missing.
- Does not provide Microformats
- hCalendar and hCard microformats have various date properties, which are not emitted by this template. Use {{Start date}}, {{End date}}, {{Birth date}} or one of their variants, as necessary, in infoboxes which allow microformat-compatible date templates.
See also
[redigér | rediger kildetekst]Skabelon:Dato and time templates