C #: конвертировать дату и время из строки в другом формате - PullRequest
3 голосов
/ 25 января 2011

Если моя строка 26/01/2011 00:14:00 но на моем компьютере установлен формат United States (AM: PM) Как конвертировать мою строку в Datetime? Я пытаюсь Convert.ToDateTime(), но это вызывает ошибку.

Ответы [ 3 ]

6 голосов
/ 25 января 2011

Как уже говорили другие, вы можете использовать DateTime.TryParseExact, но у вас, похоже, также есть европейский формат культуры в вашей дате.Возможно, не помешает попытаться использовать это для преобразования:

CultureInfo enGB = new CultureInfo("en-GB"); 
string dateString;
DateTime dateValue;

// Parse date with no style flags.
dateString = "26/01/2011 00:14:00";
DateTime.TryParseExact(dateString, "g", enGB, DateTimeStyles.None, out dateValue);
6 голосов
/ 25 января 2011

Использовать DateTime.ParseExact или DateTime.TryParseExact . Если вам нужно принять несколько возможных форматов даты и времени, оба этих метода имеют перегрузки, которые принимают массив строк формата.

Что касается этого формата, он выглядит как "дд / мм / гггг ЧЧ: ММ: сс"

0 голосов
/ 25 января 2011

Я использую DateTime.Tryparse - так вы можете грациозно отловить и обработать ошибку:

http://msdn.microsoft.com/en-us/library/system.datetime.tryparse.aspx

...