DateTime formatting, ulteriori considerazioni

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 !