C#:
Een datum converteren naar een string
Hoe te:
In C# heb je het DateTime
-object en een heleboel manieren om het om te zetten in een tekenreeks. Hier zijn er een paar:
DateTime now = DateTime.Now;
string defaultString = now.ToString(); // Standaardformaat
string specificFormat = now.ToString("yyyy-MM-dd"); // Aangepast formaat, hier ISO 8601
string withCulture = now.ToString("d", new CultureInfo("en-US")); // Korte datum in de cultuur van de VS
Console.WriteLine(defaultString); // Uitvoer hangt af van systeemcultuurinstellingen
Console.WriteLine(specificFormat); // Uitvoer: "2023-04-01"
Console.WriteLine(withCulture); // Uitvoer: "4/1/2023"
Diepgaand
Vroeger was het manipuleren van data en tekenreeksen lastiger. Vandaag de dag biedt C#’s DateTime
.ToString()
met overloads voor cultuur en formaat. De IFormatProvider
interface, zoals CultureInfo
, regelt cultuurspecifieke opmaak.
Alternatieven? Zeker! String.Format
en interpolatie ($"{now:yyyy-MM-dd}"
) zijn opties voor het invoegen van datums in tekenreeksen met context. DateTimeOffset
is handig voor tijdzonespecificaties.
Wat betreft de implementatie, onthoud dat DateTime
een struct is, dus een waarde type. Het omzetten ervan verandert het origineel niet: onveranderlijkheid voor de winst. Kies je tekenreeksformaat verstandig, afhankelijk van je publiek (eindgebruikers) en het systeem waarmee je interfaceert (databases, API’s).