Een datum converteren naar een string

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).

Zie Ook