{{TOCright Aiuto}}

Questa pagina descrive le funzioni [[Parsing|parser]] che possono essere inserite nel wikicodice per elaborare stringhe e numeri. Sono utili in particolare nella creazione di [[aiuto:template|template]]. Le funzioni parser possono utilizzare anche le [[aiuto:variabili|variabili]] di [[Mediawiki]].

Alcune sono fornite dall'estensione MediaWiki ''[[mw:Help:Extension:ParserFunctions|ParserFunctions]]'' e hanno sintassi:
:<nowiki>{{</nowiki>#nomefunzione: argomento 1 | argomento 2 | argomento 3...}}
Altre sono funzioni base di MediaWiki e generalmente hanno sintassi:
:<nowiki>{{</nowiki>nomefunzione: argomento }}

== expr ==
La funzione <kbd>expr</kbd> elabora operazioni matematiche. Gli operatori supportati (in ordine di precedenza) sono:
:{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"
! ''Operatore''
! ''Operazione''
! ''Esempio''
|-
! +
|| Addizione
||<nowiki>{{#expr: 30 + 7}}</nowiki> = {{#expr: 30 + 7}}
|-
! -
|| Sottrazione (o negazione)
||<nowiki>{{#expr: 30 - 7}}</nowiki> = {{#expr: 30 - 7}}
|-
! *
|| Moltiplicazione
||<nowiki>{{#expr: 30 * 7}}</nowiki> = {{#expr: 30 * 7}}
|-
! ^
|| Elevamento a potenza
||<nowiki>{{#expr: 30 ^ 7}}</nowiki> = {{#expr: 30 ^ 7}}
|-
! / <span style="font-weight: normal">oppure</span> div
|| Divisione
||<nowiki>{{#expr: 30 / 7}}</nowiki> = {{#expr: 30 / 7}}
|-
! mod
|| Modulo, restituisce il resto di una divisione
||<nowiki>{{#expr: 30 mod 7}}</nowiki> = {{#expr: 30 mod 7}}
|-
! round
|| Arrotonda il numero a sinistra con il numero <br /> di cifre decimali indicato dal numero a destra
||<nowiki>{{#expr: 30 / 7 round 6}}</nowiki> = {{#expr: 30 / 7 round 6}}
|-
! =
|| Uguaglianza
||<nowiki>{{#expr: 30 = 7}}</nowiki> = {{#expr: 30 = 7}}
|-
! <> <span style="font-weight: normal">oppure</span> !=
|| Disuguaglianza
||<nowiki>{{#expr: 30 <> 7}}</nowiki> = {{#expr: 30 <> 7}}
|-
! <
|| Minore
||<nowiki>{{#expr: 30 < 7}}</nowiki> = {{#expr: 30 < 7}}
|-
! >
|| Maggiore
||<nowiki>{{#expr: 30 > 7}}</nowiki> = {{#expr: 30 > 7}}
|-
! <=
|| Minore o uguale
||<nowiki>{{#expr: 30 <= 7}}</nowiki> = {{#expr: 30 <= 7}}
|-
! >=
|| Maggiore o uguale
||<nowiki>{{#expr: 30 >= 7}}</nowiki> = {{#expr: 30 >= 7}}
|-
! and
|| AND logico
||<nowiki>{{#expr: 30 and 7}}</nowiki> = {{#expr: 30 and 7}}
|-
! or
|| OR logico
||<nowiki>{{#expr: 30 or 7}}</nowiki> = {{#expr: 30 or 7}}
|-
! not
|| NOT logico
||<nowiki>{{#expr: not 7}}</nowiki> = {{#expr: not 7}}
|-
! ( )
|| Parentesi
||<nowiki>{{#expr: (30 + 7) * 7 }}</nowiki> = {{#expr: (30 + 7) * 7 }}
|}

I numeri devono essere inseriti in notazione informatica, senza separatori di migliaia e con il punto come separatore decimale, ad es. <kbd>12345.67</kbd>; vengono restituiti allo stesso modo in uscita.

Gli [[operatore booleano|operatori booleani]] considerano 0 come falso e ogni numero diverso da zero come vero. In uscita il vero viene restituito come 1.

Esempio:

 <nowiki>{{ #expr: (100 - 32) / 9 * 5 round 0 }}</nowiki>

restituisce:

 {{ #expr: (100 - 32) / 9 * 5 round 0 }}

che è 100 °F in °C, arrotondato al numero intero più vicino.

== if ==
La funzione <kbd>if</kbd> è un costrutto if-then-else. Sintassi:

 <nowiki>{{</nowiki> #if: ''&lt;condizione>'' | ''&lt;allora testo>'' | ''&lt;altrimenti testo>'' }}

Se la condizione consiste in una stringa vuota o uno spazio bianco, allora è considerata falsa, e viene restituito ''altrimenti testo''. In caso contrario, viene restituito ''allora testo''. ''altrimenti testo'' può essere omesso: in tale caso il risultato sarà vuoto se l'espressione è falsa.

Esempio:
 <nowiki>                      {{Template|parametro=qualcosa}}  {{Template}} {{Template|parametro=}}</nowiki>
 <nowiki>                                     |                        |                |</nowiki>
 <nowiki>                                     |                        |                |</nowiki>
 <nowiki>                                     |                        |                |</nowiki>
 <nowiki>{{ #if: {{{parametro|}}} | Parametro è indicato. | Parametro non è indicato, o è vuoto. }}</nowiki>

Notare che la funzione <kbd>if</kbd> '''non''' supporta il segno "=" o espressioni matematiche. <nowiki>{{#if: 1 = 2|sì|no}}</nowiki> restituirà "sì", perché la stringa "1 = 2" non è vuota. La funzione <kbd>if</kbd> è intesa come una funzione <kbd>if defined</kbd>. Per confrontare delle stringhe, usa <kbd>ifeq</kbd>. Per confrontare numeri, usa <kbd>ifexpr</kbd>.

== ifeq ==
La funzione <kbd>ifeq</kbd> confronta due stringhe, e ritorna un'altra stringa che dipende dal risultato del confronto. Sintassi:

 <nowiki>{{</nowiki> #ifeq: ''&lt;testo 1>'' | ''&lt;testo 2>'' | ''&lt;se sono uguali restituisce questo>'' | ''&lt;altrimenti questo>'' }}

== iferror ==
La funzione <kbd>iferror</kbd> prende in ingresso una stringa e restituisce un'altra stringa delle due possibili; l'uscita dipende dalla stringa in ingresso, se questa contiene un oggetto HTML con <kbd>class="error"</kbd> (che può essere generato da altre funzioni parser come <kbd>[[#expr]]</kbd> e <kbd>[[#time]]</kbd> oppure da template) viene restituita la prima, altrimenti la seconda.

 <nowiki>{{ #iferror:</nowiki> ''<stringa>'' <nowiki>|</nowiki> ''<se la stringa restituisce un errore>'' <nowiki>|</nowiki> ''<se la stringa è corretta>'' <nowiki>}}</nowiki>

Una o entrambe le stringhe in uscita possono essere messe. Se viene omessa la stringa da scrivere in caso la stringa in ingresso sia esatta allora viene restituito il valore della stringa in ingresso. Se viene omessa la stringa da scrivere in caso la stringa in ingresso sia errata allora in uscita viene restituita una stringa vuota:

:<kbd><nowiki>{{#iferror: {{#expr: 1 + 2 }} | errore | corretta }}</nowiki></kbd> → '''{{#iferror: {{#expr: 1 + 2 }} | errore | corretta }}'''
:<kbd><nowiki>{{#iferror: {{#expr: 1 + X }} | errore | corretta }}</nowiki></kbd> → '''{{#iferror: {{#expr: 1 + X }} | errore | corretta }}'''
:<kbd><nowiki>{{#iferror: {{#expr: 1 + 2 }} | errore }}</nowiki></kbd> → '''{{#iferror: {{#expr: 1 + 2 }} | errore }}'''
:<kbd><nowiki>{{#iferror: {{#expr: 1 + X }} | errore }}</nowiki></kbd> → '''{{#iferror: {{#expr: 1 + X }} | errore }}'''
:<kbd><nowiki>{{#iferror: {{#expr: 1 + 2 }} }}</nowiki></kbd> → '''{{#iferror: {{#expr: 1 + 2 }} }}'''
:<kbd><nowiki>{{#iferror: {{#expr: 1 + X }} }}</nowiki></kbd> → '''&zwnj;{{#iferror: {{#expr: 1 + X }} }}'''
:<kbd><nowiki>{{#iferror: <strong class="error">a</strong> | errore | corretta }}</nowiki></kbd> → '''{{#iferror: <strong class="error">a</strong> | errore | corretta }}'''

== ifexpr ==
La funzione <kbd>ifexpr</kbd> risolve un'espressione matematica e restituisce un testo sulla base del risultato.

 <nowiki>{{</nowiki> #ifexpr: ''&lt;espressione>'' | ''&lt;allora testo>'' | ''&lt;altrimenti testo>'' }}

Se l'espressione non venisse soddisfatta, allora viene restituito ''altrimenti testo'', in caso contrario viene restituito ''allora testo''. La sintassi delle espressioni è la stessa di <kbd>expr</kbd>.

== ifexist ==
<kbd>ifexist</kbd> restituisce uno dei due risultati, basandosi sull'esistenza o meno di una data pagina.

:<code><nowiki>{{#ifexist:Biologia|La voce [[biologia]] esiste!|La voce [[biologia]] non esiste.}}</nowiki></code> restituisce ''{{#ifexist:Biologia|La voce [[biologia]] esiste!|La voce [[biologia]] non esiste.}}'' perché [[biologia]] {{#ifexist:Biologia|esiste|non esiste}}.
:<code><nowiki>{{#ifexist:Aiuto:ParserFunctions|Sì|No}}</nowiki></code> restituisce ''{{#ifexist:Aiuto:ParserFunctions|Sì|No}}''.
:<code><nowiki>{{#ifexist:m:Help:Calculation|Sì|Oops}}</nowiki></code> restituisce ''{{#ifexist:m:Help:Calculation|Sì|Oops}}'' sebbene [[m:Help:Calculation]] esista, a causa del prefisso di interwiki.

Il primo parametro è il titolo da cercare, il secondo è il risultato da restituire se la pagina esiste e il terzo è il risultato da restituire se la pagina non esiste. Se il primo parametro non è un titolo valido, la funzione restituisce il risultato negativo.

== switch ==
La funzione <code>switch</code> confronta una stringa con altre, restituendo una data stringa se trova una corrispondenza. Sintassi:

  <nowiki>{{</nowiki> #switch: ''&lt;valore di confronto>''
  | ''&lt;valore<sup>1</sup>>''=''&lt;risultato<sup>1</sup>>''
  | ''&lt;valore<sup>2</sup>>''=''&lt;risultato<sup>2</sup>>''
  | ''...''
  | ''&lt;valore<sup>n</sup>>''=''&lt;risultato<sup>n</sup>>'' 
  | #default=''&lt;risultato di default>''
  }}

<code>switch</code> cercherà tra tutti i valori dati finché non trova una corrispondenza. Quando la corrispondenza viene trovata, viene restituito il risultato assegnato a tale valore (il testo dopo il segno di uguale). Se non viene trovata alcuna corrispondenza, ma l'ultimo elemento non ha il segno di uguale, verrà restituito come valore di default.

È anche possibile assegnare un risultato a più valori, evitando di duplicare testo. Per esempio:

  <nowiki>{{</nowiki> #switch: ''&lt;valore di confronto>''
  | ''&lt;valore<sup>1</sup>>''
  | ''&lt;valore<sup>2</sup>>''
  | ''&lt;valore<sup>3</sup>>''=''&lt;risultato<sup>3</sup>>''
  | ''...''
  | ''&lt;valore<sup>n</sup>>''=''&lt;risultato<sup>n</sup>>'' 
  | #default=''&lt;risultato di default>''
  }}

Nota che valore<sup>1</sup> e valore<sup>2</sup> non contengono il simbolo uguale. Se si trovasse una corrispondenza con essi, verrebbe restituito il risultato assegnato a valore<sup>3</sup> (risultato<sup>3</sup>).

== Formattazione ==

=== Maiuscole e minuscole ===
riassunto veloce:
* Prima maiuscola: <code><nowiki>{{ucfirst:}}</nowiki></code> - <kbd>{{ucfirst:{{PAGENAME}}}}</kbd>
* prima minuscola: <code><nowiki>{{lcfirst:}}</nowiki></code> - <kbd>{{lcfirst:{{PAGENAME}}}}</kbd>
* TUTTO MAIUSCOLO: <code><nowiki>{{uc:}}</nowiki></code> - <kbd>{{uc:{{PAGENAME}}}}</kbd>
* tutto minuscolo: <code><nowiki>{{lc:}}</nowiki></code> - <kbd>{{lc:{{PAGENAME}}}}</kbd>

==== lc ====
[[Acronimo]] di ''lower case'' (tutto minuscolo): trasforma un testo in caratteri minuscoli.

Con <nowiki>{{lc:AbCdEf}}</nowiki> si ottiene {{lc:AbCdEf}}.<br />
Con <nowiki>{{lc:Ä Β Ç}}</nowiki> si ottiene {{lc:Ä Β Ç}}, atteso ä β ç.

==== uc ====
Acronimo di ''upper case'' (tutto maiuscolo): trasforma un testo in caratteri maiuscoli.

Con <nowiki>{{uc:AbCdEf}}</nowiki> si ottiene {{uc:AbCdEf}}.<br />
Con <nowiki>{{uc:ä β ß}}</nowiki> si ottiene {{uc:ä β ß}}.

==== lcfirst ====
Acronimo di ''lower case first'' (prima minuscola): trasforma in minuscolo il primo carattere di un testo: con <nowiki>{{lcfirst:Ab Cd}}</nowiki> si ottiene {{lcfirst:Ab Cd}}.

==== ucfirst ====
Acronimo di ''upper case first'' (prima maiuscola): trasforma in maiuscolo il primo carattere di un testo: con <nowiki>{{ucfirst:aB cD}}</nowiki> si ottiene {{ucfirst:aB cD}}.

=== urlencode ===
Converte il testo in formato compatibile con URL sostituendo gli spazi con "+" e gli altri caratteri di formattazione url coi loro equivalenti: con <nowiki>{{urlencode:hello world ?&=#/:}}</nowiki> si ottiene {{urlencode:hello world ?&=#/:}}.

=== formatnum ===
Aggiunge la [[Separatore decimale|virgola dei decimali]] e i [[Separatore decimale#Raggruppamento delle cifre|separatori delle migliaia]] a un numero puro.  

I separatori delle migliaia vengono inseriti solo nella parte intera (prima della virgola), non nella parte frazionaria (dopo la virgola).

Il numero dato in [[input]] deve essere inserito in notazione informatica, senza separatori di migliaia e con il punto come separatore decimale, ad es. <kbd>12345.67</kbd>, come quelli dati in input e restituiti in [[output]] da [[#expr|#expr]].

Con <kbd><nowiki>{{formatnum:1234.56}}</nowiki></kbd> si ottiene {{formatnum:1234.56}}

Con <kbd><nowiki>{{formatnum:1234567.8901234}}</nowiki></kbd> si ottiene {{formatnum:1234567.8901234}}

L'eventuale presenza di [[aiuto:note|note]] insieme al numero non dà problemi, vengono ignorate e restituite così come sono. Anche i caratteri non numerici, esclusi i separatori, vengono ignorati e mantenuti.

Con <kbd><nowiki>{{formatnum:''I numeri sono 1234 e 5678<ref>Prova.</ref>''}}</nowiki></kbd> si ottiene {{formatnum:''I numeri sono 1234 e 5678<ref>Prova.</ref>''}}

È possibile fare l'operazione contraria aggiungendo R come secondo parametro: con <kbd><nowiki>{{formatnum:1 234 567,89|R}}</nowiki></kbd> si ottiene {{formatnum:1 234 567,89|R}} (gli spazi non sono spazi normali ma caratteri di [[spazio unificatore]]).

=== padleft e padright ===
Aggiunge dei caratteri di riempimento sulla sinistra, rendendo la stringa di lunghezza fissa. Sintassi:

:<nowiki>{{padleft: stringa | lunghezza | riempimento}}</nowiki>

Con <kbd><nowiki>{{padleft:ciao|10|+-}}</nowiki></kbd> si ottiene <kbd>{{padleft:ciao|10|+-}}</kbd>

<kbd>padright</kbd> ha lo stesso effetto ma riempie il lato destro. Esempio: <kbd><nowiki>{{padright:ciao|10|+-}}</nowiki></kbd> genera: <kbd>{{padright:ciao|10|+-}}</kbd>

<kbd>padleft</kbd> o <kbd>padright</kbd> può essere sfruttato per ottenere i primi N caratteri di una stringa di lunghezza &#x2265; N: con <kbd><nowiki>{{padleft:|3|Tizio}}</nowiki></kbd> si ottiene <kbd>{{padleft<!-- o padright -->:|3|Tizio}}</kbd>

== time ==
La funzione <kbd>time</kbd> è un costrutto per la formattazione del tempo. Sintassi:

 <nowiki>{{</nowiki> #time: ''formato'' <nowiki>}}</nowiki>

o 

 <nowiki>{{</nowiki> #time: ''formato'' | ''time'' <nowiki>}}</nowiki>

Se non è specificato un valore per ''time'' viene usata la data e ora della conversione in HTML della pagina. Attenzione che a causa del meccanismo di caching questo valore può differire notevolmente dal momento in cui la pagina viene visualizzata. Per aggiornare il valore è necessario salvare la pagina (senza averla modificata, ovvero facendo un "edit nullo"), o visualizzarla richiedendo la ripulitura della cache (<kbd>&action=purge</kbd> aggiunto all'url) oppure selezionare l'opzione che disabilita il caching delle pagine nelle proprie preferenze.

==== Parametro formato ====
Il parametro ''formato'' è una stringa che utilizza una sintassi simile a quella usata nelle date in PHP<ref>http://www.php.net/date</ref>. 

formato veloce
*<code><nowiki>{{#timel:j F Y}}</nowiki></code> - <kbd>{{#timel:j F Y}}</kbd>
**<code><nowiki>{{#timel: |Y-m-d}}</nowiki></code> - <kbd>{{#timel:Y-m-d}}</kbd>
*<code><nowiki>{{#timel:l j F Y G:s}}</nowiki></code> - <kbd>{{#timel:l j F Y G:s}}</kbd>
*<code><nowiki>{{#timel:D j M Y h:s a}}</nowiki></code> - <kbd>{{#timel:D j M Y h:s a}}</kbd>
**<code><nowiki>{{#timel: |Y-m-d H:s}}</nowiki></code> - <kbd>{{#timel:Y-m-d H:s}}</kbd>

{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"
|-
! rowspan=2|Parametro
! rowspan=2|Descrizione
! colspan=2|output equivalente con
! colspan=2|[[Aiuto:variabili|Variabili equivalenti]]
|-
! #''time''
! #''timel''
! Orario [[UTC]]
! Orario locale
|--------------
! colspan=6 | Anno
|--------------
| Y
| in '''4''' cifre
| {{#time:Y}} || {{#timel:Y}}
| <nowiki>{{CURRENTYEAR}}</nowiki> || <nowiki>{{LOCALYEAR}}</nowiki>
|-
| y
| in '''2''' cifre
| {{#time:y}} || {{#timel:y}}
| - || -
|-
| L
| 1 se bisestile, 0 altrimenti
| {{#time:L}} || {{#timel:L}}
| - || -
|--------------
! colspan=6 | Mese
|--------------
| F
| Nome completo
| {{#time:F}} || {{#timel:F}}
| <nowiki>{{CURRENTMONTHNAME}}</nowiki> ||<nowiki>{{LOCALMONTHNAME}}</nowiki>
|-
| M
| Nome abbreviato
| {{#time:M}} || {{#timel:M}} 
| <nowiki>{{CURRENTMONTHABBREV}}</nowiki> || <nowiki>{{LOCALMONTHABBREV}}</nowiki>
|-
| m
| Numero del mese (01 - 12) 
| {{#time:m}} || {{#timel:m}}
| <nowiki>{{CURRENTMONTH}}</nowiki> || <nowiki>{{LOCALTMONTH}}</nowiki>
|-
| n
| Numero del mese (1 - 12)
| {{#time:n}} || {{#timel:n}}
| ||
|-
| t
| Numero di giorni del mese
| {{#time:t}} || {{#timel:t}}
| ||
|--------------
! colspan=6 | Giorno
|--------------
| d
| Giorno del mese<br/>(01 - 31).
| {{#time:d}} || {{#timel:d}}
| <nowiki>{{CURRENTDAY2}}</nowiki> || <nowiki>{{LOCALDAY2}}</nowiki>
|-
| j
| Giorno del mese (1 - 31).
| {{#time:j}} || {{#timel:j}}
| <nowiki>{{CURRENTDAY}}</nowiki> || <nowiki>{{LOCALDAY}}</nowiki>
|-
| z
| Giorno dell'anno  (1 - 365)
| {{#time:z}} || {{#timel:z}} 
| ||
|--------------
| l
| Nome completo
| {{#time:l}} || {{#timel:l}}
| <nowiki>{{CURRENTDAYNAME}}</nowiki> || <nowiki>{{LOCALDAYNAME}}</nowiki>
|-
| D
| Nome abbreviato
| {{#time:D}} || {{#timel:D}}
| ||
|-
| N
| Giorno della settimana  [[ISO 8601]]<br/>(1 (Lunedì) - 7 (Domenica))
| {{#time:N}} || {{#timel:N}}
| <nowiki>{{CURRENTWEEK}}</nowiki> || <nowiki>{{LOCALWEEK}}</nowiki> 
|-
| w
| Giorno della settimana  <br/>(0 (Domenica) - 6 (Sabato))
| {{#time:w}} || {{#timel:w}}
| ||
|--------------
! colspan=6 | Settimane
|--------------
| W
| Settimana dell'anno <br/>(1 - 52)
| {{#time:W}} || {{#timel:W}}
| <nowiki>{{CURRENTWEEK}}</nowiki> || <nowiki>{{LOCALWEEK}}</nowiki>
|--------------
! colspan=6 | Orario
|--------------
| H:s
| Ora:minuti (00:00 - 23:59)
| {{#time:H:s}} || {{#timel:H:s}}
| <nowiki>{{CURRENTTIME}}</nowiki> || <nowiki>{{LOCALTIME}}</nowiki>
|-
| H
| Ora formato 24 ore (00 - 23)
| {{#time:H}} || {{#timel:H}}
| <nowiki>{{CURRENTHOUR}}</nowiki> || <nowiki>{{LOCALHOUR}}</nowiki>
|-
| G
| Ora formato 24 ore (0 - 23)
| {{#time:G}} || {{#timel:G}}
| ||
|-
| h
| Ora formato 12 ore (01 - 12)
| {{#time:h}} || {{#timel:h}}
| || 
|-
| g
| Ora formato 12 ore (1 - 12)
| {{#time:g}} || {{#timel:g}}
| ||
|--------------
| a
| am o pm
| {{#time:a}} || {{#timel:a}} 
| ||
|-
| A
| AM o PM
| {{#time:A}} || {{#timel:A}} 
| ||
|--------------
| i
| Il minuto (00 - 59)
| {{#time:i}} || {{#timel:i}}
| ||
|--------------
| s
| Il secondo (00 - 59)
| {{#time:s}} || {{#timel:s}}
| ||
|}
<!-- 
|--------------
| c
| La data in formato [[ISO 8601]]
| {{#time:c}}
|--------------
| r
| La data in formato [[RFC 2822]]
| {{#time:r}}
|--------------
| U
| Secondi dal Gennaio 1 1970 00:00:00 GMT
| {{#time:U}}
|} -->
<!-- 
I seguenti codici di formattazione rappresentano un'estensione della sintassi PHP:

{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"
! Parametro
! Descrizione
|--------------
| xn
| Format the next numeric code as a raw ASCII number. For example, in the Hindi language, {{ #time:H, xnH}} produces {{ #time:H, xnH}}. 
|--------------
| xN
| Toggle a permanent raw number formatting flag. Like xn, except it lasts until the end of the string or until the same code appears again.
|--------------
| xr
| Formato che trasforma dal formato numerico al codice romano. Lavora solo con numeri fino a 3000. (Esempio <nowiki>{{</nowiki>#time:xrY/xrY/xrY|1/1/1827<nowiki>}}</nowiki> ritorna {{ #time:xrY/xrY/xrY|1/1/1827}} )
|--------------
| xg
| Output the genitive form of the month name, for languages which make such a distinction between genitive and nominative.
|--------------
| xx
| A literal "x"
|}
-->
I caratteri non riconosciuti vengono lasciati inalterati. Esistono due tecniche per evitare l'elaborazione di caratteri inseriti in stringhe di descrizione:
* racchiudere gli stessi fra doppi apici (i singoli apici non verranno considerati)
** Corretto: <nowiki>{{</nowiki> #time: "Attualmente è" F<nowiki>}}</nowiki> → {{ #time: "Attualmente è" F}}
** Errato: <nowiki>{{</nowiki> #time: Attualmente è F<nowiki>}}</nowiki> → {{ #time: Attualmente è F}}
** Singoli apici: <nowiki>{{</nowiki> #time:G:i's"<nowiki>}}</nowiki> → {{#time:G:i's"}}
* Utilizzare il carattere di escape "\". 
**<nowiki>{{</nowiki> #time:\H<nowiki>}}</nowiki> → {{#time:\H}}
**<nowiki>{{</nowiki> #time:\"<nowiki>}}</nowiki> → {{#time:\"}}
<!--

More format codes may be added in the future, as demanded by the users of this extension. This may come in the form of either a more complete implementation of PHP's format codes, or additional "x" codes.
-->

==== Parametro time ====
Il formato del parametro ''time'' è identico a quello usato dalla funzione PHP strtotime().
Supporta date sia assolute sia relative. Le date devono essere espresse in formato inglese ovvero
"December 11"  e non "11 Dicembre" e "+10 hours" e non "+10 ore". Questa caratteristica può essere usata per la gestione delle "timezone" ovvero per la conversione dall'orario [[UTC]] usato per default all'orario [[CET]] o [[CEST]] usato in Italia. Per ulteriori informazioni vedere [http://www.gnu.org/software/tar/manual/html_node/tar_109.html the GNU tar manual].

==== Esempi ====
*<nowiki>{{#time:G:i's"|+1 hours}}</nowiki> → {{#time:G:i's"|+1 hours}} restituisce l'ora CET (ora solare)
*<nowiki>{{#time:G:i's"|+2 hours}}</nowiki> → {{#time:G:i's"|+2 hours}} restituisce l'ora CEST (ora legale)
*<nowiki>{{#time:j F Y|-14 days}}</nowiki> restituisce {{#time:j F Y|-14 days}} (14 giorni fa)
*<nowiki>{{#time:H:i|+6 hours}}</nowiki> restituisce {{#time:H:i|+6 hours}} (6 ore più [[UTC]])
*<nowiki>{{#time:H:i|8:15 +6 hours}}</nowiki> restituisce {{#time:H:i|8:15 +6 hours}}
*<nowiki>{{#time:m/Y|-1 months}}</nowiki> restituisce {{#time:m/Y|-1 months}} (1 mese fa)
*<nowiki>{{#time:d/m|25 December}}</nowiki> restituisce {{#time:d/m|25 December}} (25 dicembre)
*<nowiki>{{#time:d/m|December 25}}</nowiki> restituisce {{#time:d/m|December 25}} (25 dicembre)

==== Intervallo di validità ====
{{Vedi anche|Bug dell'anno 2038}}
L'intervallo di date che vengono correttamente gestite da questa funzione va dal 1970-1-1 00:00:01 fino al 2038-1-19 03:14:07 (da 1 a 2<sup>31</sup> secondi dall'inizio del 1970).

==Note==
<references/>

== Pagine correlate ==
*[[Aiuto:Variabili]]
*[[Aiuto:Direttive]]

== Altri progetti ==
Per informazioni tecniche complete e aggiornate vedi le pagine su mediawiki.org (in inglese):

* {{en}} [[mw:Help:Extension:ParserFunctions]]
* {{en}} [[mw:Help:Magic words#Parser functions]]

== Collegamenti esterni ==
* {{en}} [http://mail.wikipedia.org/pipermail/wikitech-l/2006-April/thread.html#34685 La discussione sulle ParserFunctions nell'archivio della lista Wikitech-l]
[[Categoria:Aiuto|Funzioni parser]]