Päivämäärän jäsennys merkkijonosta

C#:
Päivämäärän jäsennys merkkijonosta

Kuinka:

Perusjäsennys:

DateTime.Parse ja DateTime.TryParse -menetelmät ovat go-to-vaihtoehtoja muuntaaksesi merkkijonon DateTime-objektiksi. Tässä on nopea esimerkki:

string dateString = "2023-04-12";
DateTime parsedDate;

if (DateTime.TryParse(dateString, out parsedDate))
{
    Console.WriteLine($"Onnistuneesti jäsennetty: {parsedDate}");
}
else
{
    Console.WriteLine("Jäsennys epäonnistui.");
}
// Tuloste: Onnistuneesti jäsennetty: 12.4.2023 0:00:00

Kulttuurin määrittäminen:

Joskus sinun on jäsenettävä päivämäärämerkkijono, joka on tietyn kulttuurin muodossa. Tämän voit saavuttaa käyttämällä CultureInfo-luokkaa:

using System.Globalization;

string dateString = "12 avril 2023";
var cultureInfo = new CultureInfo("fr-FR");
DateTime parsedDate = DateTime.Parse(dateString, cultureInfo);

Console.WriteLine(parsedDate);
// Tuloste: 12.4.2023 0:00:00

Tarkka jäsennys tietyllä muodolla:

Skenaarioissa, joissa päivämäärät tulevat tietyssä muodossa, joka ei välttämättä ole standardi, DateTime.ParseExact tulee tarpeeseen:

string dateString = "Wednesday, 12 April 2023";
string format = "dddd, d MMMM yyyy";
DateTime parsedDate = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);

Console.WriteLine(parsedDate);
// Tuloste: 12.4.2023 0:00:00

NodaTime:n käyttö:

Viela robustimpaan päivämäärän ja ajan jäsennykseen, harkitse suositun kolmannen osapuolen kirjaston NodaTime käyttöä. Se tarjoaa laajemman valikoiman päivämäärän/aika käsittelyn mahdollisuuksia:

using NodaTime;
using NodaTime.Text;

var pattern = LocalDatePattern.CreateWithInvariantCulture("yyyy-MM-dd");
var parseResult = pattern.Parse("2023-04-12");

if (parseResult.Success)
{
    LocalDate localDate = parseResult.Value;
    Console.WriteLine(localDate); // 2023-04-12
}
else
{
    Console.WriteLine("Jäsennys epäonnistui.");
}

NodaTime tarjoaa laajamittaista tukea aikavyöhykkeille, ajanjaksoille ja kestokonsepteille sekä monille eri kalenterijärjestelmille, tehden siitä voimakkaan valinnan monimutkaisten päivämäärän ja ajan manipulointiin .NET-sovelluksissa.