C#:
Een datum uit een string parsen
Hoe te:
using System;
using System.Globalization;
class Program
{
static void Main()
{
string dateString = "2023-03-15";
DateTime parsedDate = DateTime.Parse(dateString);
Console.WriteLine(parsedDate); // Output: 15-3-2023 00:00:00
// Met specifiek formaat
dateString = "15 maart, 2023";
string format = "d MMMM, yyyy";
CultureInfo provider = CultureInfo.InvariantCulture;
parsedDate = DateTime.ParseExact(dateString, format, provider);
Console.WriteLine(parsedDate); // Output: 15-3-2023 00:00:00
}
}
Diepere duik
Voor DateTime
vertrouwden programmeurs op eigen code om datums te verwerken, wat gevoelig was voor fouten en inefficiënties. De DateTime
struct in .NET heeft dit gerevolutioneerd door robuuste parseermethoden te bieden - Parse
en ParseExact
.
Parse
probeert een datumstring te begrijpen op basis van cultuurspecifieke of universele formaten. Prima wanneer je standaard datumformaten verwacht. Echter, als je te maken hebt met specifieke of ongebruikelijke datumformaten, is ParseExact
(samen met TryParse
en TryParseExact
voor foutafhandeling) je vriend. Hier dicteer je het exacte formaat met een aangepast patroon.
De implementatie gebruikt de CultureInfo
klasse om respect te tonen voor verschillende culturele datumformaten. Door ParseExact
te gebruiken, vermijd je culturele misverstanden - jouw gedefinieerde patroon is wat telt. Onthoud dat computerverdatums beginnen vanaf 1 januari 0001, dus zorg ervoor dat je string een geldige datum vertegenwoordigt binnen het bereik van de .NET kalender.