Попробуйте использовать DateTime.ParseExact
.
в вашем случае format specified должно быть:
Thu Jan 03 15:04:29 2013
и вызов должен выглядеть следующим образом:
DateTime logDate = DateTime.ParseExact(logValue, "ddd MMM dd HH:mm:ss yyyy",
CultureInfo.CreateSpecificCulture("en-US"));
Третий параметр установлен в культуре США, так что ddd
и MMM
части , соответствуют Thu
и Jan
соответственно.
В этом случае я рекомендую ParseExact
вместо TryParseExact
, из источника данных. Если вы разбираете пользовательский ввод, всегда используйте TryParseExact
, потому что вы не можете доверять, что пользователь выполнил запрошенный формат. Однако в этом случае источником является файл с четко определенным форматом, поэтому любые недопустимые данные следует рассматривать как исключение, потому что они являются, к тому же, исключительными.
Также обратите внимание, что методы *ParseExact
очень неумолимы. Если данные точно не соответствуют указанному формату, это рассматривается как ошибка.
что-то вроде 'DateTime.ParseExact (ул, "ддд МММ дд чч: мм: сс гггг", NULL)' –
[C# Дата Преобразовать в DateTime] (https://www.google.se/search?q = C% 23 + convert + date + to + datetime) – Default