Formattare date e ore con ASP.NET
Vediamo come fare a formattare date ed orari con ASP.NET . Codici ed esempi.
Con ASP.NET è possibile formattare in maniera rapida date e orari. La formattazione è il processo di conversione di una variabile da tipo nativo in una rappresentazione di stringa. Ogni volta che si visualizza una variabile di tipo DateTime o una variabile numerica che esprime una data o un orario, ASP.NET formatta tale variabile da tipo nativo in string impostando le proprietà di stampa come definite dall’utente.
Ci sono diversi modi per formattare una variabile DateTime o numerica. Il primo modo consiste nell’utilizzare il metodo ToString, che sostituisce il valore nativo in stringa. Specificamente:
- DateTime:DateTime.ToString () converte il valore DateTime in un formato stringa utilizzando la lingua corrente. DateTime.ToString (stringa) converte il valore della DateTime a una rappresentazione in formato stringa utilizzando la lingua corrente e la stringa di formato specificato come da tabella sottostante.
- DateTime.ToString (IFormatProvider) converte il valore della DateTime a una rappresentazione in formato stringa utilizzando le impostazioni cultura specificate e la stringa "G" di formato (si veda tabella).
- DateTime.ToString (stringa, IFormatProvider) converte il valore della DateTime a una rappresentazione in formato stringa utilizzando le impostazioni cultura specificate e la stringa di formato specificato (vedi tabella).
Variabili numeriche - interi, doppie, decimali, e così via - hanno lo stesso overload del metodo ToString.
Può essere eseguita anche la formattazione utilizzando il metodo String.Format. Il metodo String.Format accetta come input una stringa di formato che contiene una serie di segnaposto, seguito dai valori. Il segnaposto assume la forma {0}, {1}, e così via. Si può includere una stringa di formato in questo modo: {0:}.
Il codice seguente mostra come usare il metodo String.Format con tre segnaposto:
customerName stringa = "Tito";subtotale = 245,13;taxTotal decimale = 18,94;/ / Output: Tito, il vostro ordine totale iva inclusa è € 245,13. Iva 18,94 euro.stringa = string.Format ("{0}, il vostro ordine totale iva inclusa è {1: c} {2 Iva : c}.." customerName, subtotale, taxTotal);
Nell’esempio qui sopra, il metodo String.Format utilizza la lingua corrente. Opzionalmente si possono fornire le impostazioni cultura come primo parametro al metodo String.Format.
Ci sono 15 stringhe di formato standard di data e ora definite nel. NET Framework. La tabella seguente mostra le stringhe di formato standard:
Descrizione | Esempio | Output |
Data corta (d) | DateTime.Now.ToString("d") | 18/10/2011 |
Data lunga (D) | DateTime.Now.ToString("D") | Lunedi, 18,Ottobre 2011 |
Full date/time - short time (f) | DateTime.Now.ToString("f") | Lunedi, 18,Ottobre 2011 12:39 AM |
Full date/time - long time (F) | DateTime.Now.ToString("F") | Lunedi, 18,Ottobre 2011 12:39:46 AM |
General date/time - short time (g) | DateTime.Now.ToString("g") | 18/10/2011 12:39 AM |
General date/time - long time (G) | DateTime.Now.ToString("G") | 18/10/2011 12:39:46 AM |
Giorno/mese (M) | DateTime.Now.ToString("M") | 18 ottobre |
Round-trip date/time (O) | DateTime.Now.ToString("O") | 2011-10-18T15:39:46.4804000-08:00 |
RFC 1123 pattern (R) | DateTime.Now.ToString("R") | Lun, 18 Ott 2011 15:39:46 GMT |
Sortable date/time pattern (s) | DateTime.Now.ToString("s") | 2011-10-18T15:39:46 |
Short time (t) | DateTime.Now.ToString("t") | 3:39 PM |
Long time (T) | DateTime.Now.ToString("T") | 3:39:46 PM |
Universal sortable date/time (u) | DateTime.Now.ToString("u") | 2011-11-18 15:39:46Z |
Universal full date/time (U) | DateTime.Now.ToString("U") | Lunedì, 18 ottobre, 2011 11:39:46 PM |
Anno/mese (Y) | DateTime.Now.ToString("Y") | Ottobre, 2011 |
La lingua dell’output delle stringhe dipende dalla culture. Per esempio, per 18 Ott 2011 utilizzando il modello di data breve visualizza 2011/10/18 quando si utilizza la culture it-IT, tuttavia, se si utilizza culture inglese (en-US) visualizza 2011/18/10, la culture tedesca (Germania) mostra 2011/18/10, e la culture giapponese 2011/10/18.
Se non si specifica in modo esplicito una culture la formattazione del .NET Framework utilizzerà le impostazioni culture correnti. C’è una varietà di date personalizzate e stringhe di formato tempo, che consentono allo sviluppatore dir definire la propria formattazione. La tabella seguente mostra solo alcuni esempi di come possono essere impostate.
Descrizione | Esempio | Output |
Giorno, nome del mese abbreviato, anno | DateTime.Now.ToString("d MMM yyyy") | 18 Ott 2011 |
Nome del giorno della settimana più il giorno del mese ed il nome del mese | DateTime.Now.ToString("dddd, MMMM d") | Lunedi’, 8 Ottobre |
Giorno/Mese/Anno, usando esattamente due cifre per ciascuno | DateTime.Now.ToString("dd/MM/yy") | 18/10/11 |
- Articolo precedente Leggere, ottenere e ricavare l'IP del visitatore con ASP.NET
- Articolo successivo Script ASP.NET database, CMS, file manager e development tools