Imparare il PHP: Date e Orari
autore: Orebla
xx/xx/xx
Adattare le impostazioni locali di lingua alle date
Questa guida di chiusura per l'argomento delle date e orari del PHP ci
illustrerà il metodo semplice ed efficace per impedire di visualizzare i nomi
dei mesi e giorni in lingua inglese.
Per fare questo avremo bisogno della funzione
strftime() in
combinazione con la funzione setlocale(). Potete trovare le documentazioni
ufficiale ai seguenti indirizzi:
http://www.php.net/manual/en/function.strftime.php,
http://www.php.net/manual/en/function.setlocale.php.
Per prima cosa, come sempre, vi mostro la grammatica della funzione strftime():
string
strftime ( string format [, int timestamp] )
Come potete benissimo vedere è in tutto e per tutto uguale alla funzione
date, l'unica differenza è che il risultato delle stringhe è quello settato
precedentemente con la funzione
setlocale().
Purtroppo però gli argomenti di formato sono diversi da quelli di
date(),
li potete trovare tutti nella pagina di documentazione ufficiale.
Quindi prima di utilizzare questa funzione è necessario richiamare l'altra
funzione sopra citata setlocale(), di seguito la grammatica di questa ultima
funzione:
string
setlocale ( int category, string locale [,
string ...] )
Non ci dilungheremo su questa funzione, vi spiegherò solamente il suo
utilizzo per il nostro problema.
Inseriamo infatti nella "category" la categoria in cui vogliamo che
sia caricato il file di lingua relativo all'italiano cioè "LC_TIME",
metteremo poi in "locale" la stringa "it_IT". Attenzione a
quest ultimo argomento, che alcune con Server Windows va opportunamente
modificato come descritto in questa pagina della Microsoft:
http://msdn.microsoft.com/library/
default.asp?url=/library/en-us/vclib/html/
_crt_language_strings.asp.
Ecco l'esempio pratico:
<?php
// La funzione che ci permette di impostare
l'italiano
setlocale(LC_TIME,"it_IT");
// Verifichiamo il cambiamento di lingua
echo strftime('%A');
?>
Il risultato il giorno della settimana al momento in cui eseguiamo lo script.
Fate molta attenzione a quanto vi ho detto prima relativamente al sistema
operativo sul quale avete installato il PHP!! Infatti io ho il php installato su
Windows XP e l'esempio sopra riportato non funziona, continuando a restituire il
risultato in inglese. Dovete andare alla pagina sopra citata ed inserire al
posto di "it_IT" la stringa: "ita" o "italian".