esmaspäev, 11. oktoober 2010

Kuupäeva pp.kk.aaaa formaadipööramine

Ei meeldi .NET-ile pp.kk.aaaa kuupäeva formaat, igalt poolt võib hakata exceptioneid pilduma, usaldusväärsust lisab fikseeritud formaatidega tüübipööramine

string kuupaevatekst="23.10.2010";

DateTime arvekuupaev;
string[] formaat = new string[4];
formaat[0] = "yyyy-MM-dd"; //.NET standardformaat
formaat[1] = "MM.dd.yyyy";
formaat[2] = "dd.MM.yyyy"; //meie kullakallis pp.kk.aaaa
formaat[3] = "yyyyMMdd"; /ISO8601 see töötab alati nii .NET kui SQL SERVER
if (!System.DateTime.TryParseExact(kuupaevatekst, formaat, System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None, out arvekuupaev))
{
throw new InvalidOperationException("Error !! kuupäev " + kuupaevatekst+ " pole sobivas formaadis");
}

ja töötab palju paremini
arvekuupaev siin on nüüd kuupäevaks teisendatud string