Oggi ho pubblicato un nuovo articoletto sui possibili modi di formattare una data in stringa. L'esempio presuppone che la lingua del thread corrente sia l'italiano, ma se non lo fosse ? E noi volessimo comunque le nostre date in italiano ?
Ecco come possiamo fare:

IFormatProvider provider = new CultureInfo("it-IT", true);

string[] array = DateTime.Now.GetDateTimeFormats('d', provider);
string data = "";
for (int i=0; i<array.Length; i++)
{
data += array[i];
}

Come si può vedere, viene creato un nuovo oggetto di tipo IFormatProvider, che viene passato al metodo GetDateTimeFormats del tipo di dato DateTime; a questo metodo viene passato anche il pattern per esprimere il tipo di formattazione desiderato. L'elenco dei pattern è sempre lo stesso inserito nell'articolo.

Chiaramete è lecito fare il processo inverso. Cioè passare da una stringa, contenente una data valida pre formattata, ad un oggetto di tipo DateTime. Come ? Attraverso l'uso del metodo Parse.

IFormatProvider provider = new CultureInfo("it-IT", true);

DateTime time = DateTime.Parse("18/09/2005", provider, DateTimeStyles.NoCurrentDateDefault);

Avevo gia usato queste tecniche all'interno della libreria dotRSS, sia per la lettura che per la scrittura di date secondo il formato definito dalle specifiche RFC1123, che è il formato richiesto dalle specifiche rss 2.0; ora ho inserito il codice all'interno della mia library, sotto il namespace Peppe.Utils.
Sta prendendo veramente corpo quella libreria ... e intanto oggi la mia Juve si riconferma più capolista che mai !