Omzetten van dd/mm/jjjj geformatteerde string naar Datetime
Ik ben nieuw met DotNet en C#. Ik wil een string in mm/dd/yyyy
formaat omzetten naar een DateTime
object. Ik heb de parse functie geprobeerd zoals hieronder, maar het geeft een runtime error.
DateTime dt=DateTime.Parse("24/01/2013");
Iemand een idee hoe ik het kan omzetten naar datetime?
95
3
U moet gebruik maken van
DateTime.ParseExact
met formaat"dd/MM/yyyy"
Het is veiliger om
d/M/yyyy
te gebruiken voor het formaat, omdat dat zowel enkelcijferige als dubbelcijferige dagen/maanden aankan. Maar dat hangt er echt van af of je enkel- of dubbelcijferige waarden verwacht.Uw datum formaat
dag/Maand/Jaar
kan een acceptabel datum formaat zijn voor sommige culturen. Bijvoorbeeld voor de Canadese cultuuren-CA
DateTime.Parse
zou werken als:Of
Beide bovenstaande regels zouden werken omdat het formaat van de string's acceptabel is voor de
en-CA
cultuur. Omdat je geen cultuur aan jeDateTime.Parse
aanroep meegeeft, wordt je huidige cultuur gebruikt voor parsing die'het datum formaat niet ondersteunt. Lees meer hierover bij DateTime.Parse.Een andere methode voor parsing is het gebruik van
DateTime.TryParseExact
De
TryParse
groep van methoden in .Net framework gooit geen exception op ongeldige waarden, in plaats daarvan geven ze eenbool
waarde terug die succes of falen bij het parsen aangeeft.Merk op dat ik enkele
d
enM
heb gebruikt voor respectievelijk dag en maand. Enkeled
enM
werken voor zowel enkele als dubbele cijfers voor dag en maand. Dus voor het formaatd/M/jjjj
kunnen geldige waarden zijn:Voor verdere lectuur zou u moeten zien: Aangepaste datum en tijd formaat Strings
gebruik
DateTime.ParseExact
null
zal de huidige cultuur gebruiken, wat enigszins gevaarlijk is. Probeer een specifieke cultuur op te gevenU kunt het
"dd/MM/yyyy"
formaat gebruiken inDateTime.ParseExact
.Hier is een
DEMO
.Voor meer informatie, kijk op
Custom Date and Time Format Strings