Kako pretvorite niz, kot je 2009-05-08 14:40:52,531
, v DateTime
?
Pri tem imate na voljo dve možnosti. DateTime.Parse()
in DateTime.ParseExact()
.
Prva možnost je zelo prizanesljiva glede sintakse in bo analizirala datume v različnih formatih. To je dobro za uporabniški vnos, ki je lahko v različnih formatih.
ParseExact vam omogoča, da določite točno obliko datumskega niza, ki se bo uporabila za razčlenjevanje. To je dobro uporabiti, če je vaš niz vedno v enaki obliki. Na ta način lahko zlahka odkrijete morebitna odstopanja od pričakovanih podatkov.
Uporabnikov vnos lahko razčlenite na naslednji način:
DateTime enteredDate = DateTime.Parse(enteredString);
Če imate določeno obliko niza, morate uporabiti drugo metodo:
DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);
"d"
pomeni vzorec za kratek datum (za več informacij glej MSDN), null
pa določa, da je treba za razčlenjevanje niza uporabiti trenutno kulturo.
poskusite to
DateTime myDate = DateTime.Parse(dateString);
boljši način bi bil ta:
DateTime myDate;
if (!DateTime.TryParse(dateString, out myDate))
{
// handle parse failure
}