Я читал строки из файла журнала со значением даты, как это:Невозможно разобрать строку на сегодняшний день с TryParse точным
Thu Oct 06 15:38:45 2016
Очевидно
DateTime.TryParse()...
не будет справиться с этим. Итак, я попытался с помощью
DateTime.TryParseExact()
так:
string szDateFormat = "ddd MMM yy HH:mm:ss yyyy";
string szTest = "Thu Oct 06 15:38:45 2016";
DateTime dd;
DateTime.TryParse(szTest, out dd);
CultureInfo current = CultureInfo.CurrentCulture;
CultureInfo newculture = new CultureInfo("en-US");
Console.WriteLine(current);
Console.WriteLine(newculture);
Console.WriteLine(String.Format(" Test: {0}", szTest));
Console.WriteLine(String.Format("Format: {0}", szDateFormat));
Console.WriteLine(String.Format(" dd: {0:ddd MMM yy HH:mm:ss yyyy}", dd));
Console.WriteLine("");
DateTime.TryParseExact(szTest, szDateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dd);
Console.WriteLine(String.Format(" Test: {0}", szTest));
Console.WriteLine(String.Format("Format: {0}", szDateFormat));
Console.WriteLine(String.Format(" dd: {0:ddd MMM yy HH:mm:ss yyyy}", dd));
Console.WriteLine("");
И результат таков:
en-US
en-US
Test: Thu Oct 06 15:38:45 2016
Format: ddd MMM yy HH:mm:ss yyyy
dd: Mon Jan 01 00:00:00 0001
Test: Thu Oct 06 15:38:45 2016
Format: ddd MMM yy HH:mm:ss yyyy
dd: Mon Jan 01 00:00:00 0001
В предыдущей итерации я использовал
CultureInfo.CurrentCulture
а без изменений.
Любая помощь будет оценена по достоинству.
Спасибо, Джон
Вы должны использовать„ддд МММ дд чч: мм: сс гггг“. – itsme86
Вы читаете день месяца как год? –