C#:
Розбір дати з рядка
Як:
Базовий аналіз:
Методи DateTime.Parse
та DateTime.TryParse
є основними варіантами для конвертації рядка у DateTime
. Ось швидкий приклад:
string dateString = "2023-04-12";
DateTime parsedDate;
if (DateTime.TryParse(dateString, out parsedDate))
{
Console.WriteLine($"Успішно аналізовано: {parsedDate}");
}
else
{
Console.WriteLine("Не вдалося аналізувати.");
}
// Вивід: Успішно аналізовано: 4/12/2023 12:00:00 AM
Вказівка культури:
Іноді вам потрібно аналізувати рядок дати, який є у певному форматі культури. Це можна досягнути за допомогою класу CultureInfo
:
using System.Globalization;
string dateString = "12 avril 2023";
var cultureInfo = new CultureInfo("fr-FR");
DateTime parsedDate = DateTime.Parse(dateString, cultureInfo);
Console.WriteLine(parsedDate);
// Вивід: 4/12/2023 12:00:00 AM
Точний аналіз з певним форматом:
У сценаріях, де дати надходять у певному форматі, який може бути нестандартним, DateTime.ParseExact
стане в нагоді:
string dateString = "Wednesday, 12 April 2023";
string format = "dddd, d MMMM yyyy";
DateTime parsedDate = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);
Console.WriteLine(parsedDate);
// Вивід: 4/12/2023 12:00:00 AM
Використання NodaTime:
Для ще більш надійного аналізу дати та часу, розгляньте використання популярної сторонньої бібліотеки NodaTime. Вона надає ширший спектр можливостей обробки дати/часу:
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("Не вдалося аналізувати.");
}
NodaTime пропонує широку підтримку часових зон, концепцій періоду та тривалості, а також багато різних календарних систем, роблячи її потужним вибором для складної маніпуляції з датами та часом у .NET додатках.