Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
860 of 1492 menu
◀ ▶

Метод DateTime.ParseExact

Метод ParseExact принимает текст, строку формата и CultureInfo. В шаблоне используйте дефис, а не "/" - слэш подставляет разделитель культуры. Флаги задают через DateTimeStyles. Мягкий вариант - TryParseExact.

Синтаксис

using System.Globalization; DateTime dt = DateTime.ParseExact( text, "yyyy-MM-dd", CultureInfo.InvariantCulture);

Пример

Давайте разберём "2020-01-02" по "yyyy-MM-dd":

using System; using System.Globalization; class Program { static void Main() { DateTime res = DateTime.ParseExact( "2020-01-02", "yyyy-MM-dd", CultureInfo.InvariantCulture); Console.WriteLine(res.Day); } }

Результат выполнения кода:

2

Пример

Давайте укажем чужой шаблон и поймаем FormatException:

using System; using System.Globalization; class Program { static void Main() { try { DateTime.ParseExact( "2020-01-02", "dd.MM.yyyy", CultureInfo.InvariantCulture); } catch (FormatException) { Console.WriteLine("fail"); } } }

Результат выполнения кода:

"fail"

Пример

Давайте разберём время по "HH:mm:ss":

using System; using System.Globalization; class Program { static void Main() { var dt = new DateTime(2020, 1, 2, 3, 4, 5); string text = dt.ToString("HH:mm:ss", CultureInfo.InvariantCulture); DateTime res = DateTime.ParseExact( text, "HH:mm:ss", CultureInfo.InvariantCulture); Console.WriteLine(res.Second); } }

Результат выполнения кода:

5

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить