Programmazione
Martedì 18 aprile 2017
Spesso ho visto che molte programamtri hanno difficoltà ad impostare le date in italiano con php.

L'utilizzo dell'istruzione date() non è sufficiente, in quanto il comando non è in grado di leggere l'impostazone della lingua presente sul sistema operativo.

Altri preferiscono passare per array o altre strutture stravaganti per convertire il numero relativo al giorno nel corrispettivo valore testuale.



Ma formattare le date in italiano è possibile ed è anche molto facile.





Operazioni preliminari: impostare la lingua sulla macchina.
Prendo in considerazione una macchina debian like.

Non affornterò il discorso per quanto riguarda windows.



Verificate le lingue installate nel sistema con il comando:

locale -a



Dovreste vedere un elenco simile a questo:

en_AU.utf8

en_BW.utf8

en_DK.utf8

en_GB.utf8

en_ZW.utf8



se non avete trovato la lingua che vi occorre, ad esempio l'italiano, potete lanciare il comando

sudo locale-gen it_IT.UTF-8



I file della nuova lingua verranno installate sulla vostra macchina.



Se volete utilizzare l'italiano a livello di distema operativo potete lanciare il seguente comando:

update-locale LC_ALL=it_IT.UTF-8

Ma non indispensabile al fine di questo articolo.
Formattare la data in php
Adesso che avete installato la lingua che volete utlizzare sul vostro sistema potete utilizzarlo all'interno dei programmi.



Per prima cosa impostiamo la lingua con

setlocale(LC_TIME, "de_DE");



Utilizziamo quindi il comando strftime per formattare la nostra data.

Il funzionamento è identico a quello di date, ovvero utilizza una stringa di caratteri speciali per la formattazioen della data, seguita, opzionalmente da un timestamp.

L'istruzione:

strftime("%A %d %B %Y");

produrrà come output la stringa Martedì 18 Aprile 2017



Tutto qui ! Facile vero ?

Di seguito vi propongo l'elenco dei caratteri per formattare la data a vostro desiderio.
Elenco dei caratteri utlizzabili
%a - Nome del giorno della settimana abbreviato in accordo con i parametri locali

%A - Nome completo del giorno della settimana in accordo con i parametri locali

%b - Nome del mese abbreviato in accordo con i parametri locali

%B - Nome completo del mese in accordo con i parametri locali

%c - Rappresentazione preferita di data e orario per le attuali impostazioni locali

%C - numero del secolo (l'anno diviso 100 e troncato in un intero, intervallo tra 00 e 99)

%d - giorno del mese come numero decimale (intervallo tra 01 e 31)

%D - come %m/%d/%y

%e - giorno del mese come numero decimale, un singolo carattere è preceduto da uno spapzio (intervallo tra ' 1' e '31')

%g - come %G, ma senza il secolo.

%G - L'anno a 4 cifre corrispondente al numero di setitmana ISO (vedi %V). Questa ha lo stesso formato e valore di %Y, eccetto che se il numero di settimana ISO appartiene al precedente o prossimo anno, è invece utilizzato l'anno attuale.

%h - come %b

%H - ora come numero decimale usando il sistema a 24 ore (intervallo tra 00 e 23)

%I - ora come numero decimale usando il sistema a 12 ore (intervallo tra 01 e 12)

%j - giorno dell'anno come numero decimale (intervallo tra 001 e 366)

%m - mese come numero decimale (intervallo tra 01 e 12)

%M - minuto come numero decimale

%n - carattere di nuova linea

%p - entrambi `am' o `pm' accordati a un valore di tempo dato, o alle stringhe corrispondenti per le impostazioni locali

%r - orario in notazione a.m. e p.m

%R - orario nella notazione a 24 ore

%S - secondi come numero decimale

%t - Carattere di tabella

%T - orario attuale, identico a %H:%M:%S

%u - giorno della settimana come numero decimale [1,7], dove 1 rappresenta il Lunedì



per ulteriori approfondimenti vi consiglio di fare riferimento alla guida ufficiale di php all'indirizzo http://php.net/manual/it/function.strftime.php



Grazie per aver letto questo articolo.

Commenti



Cerca nel sito
Categorie
Computer
4
Fotografia
46
Programmazione
4
Scatolone
1
Viaggi
3

Potrebbe interesarti anche