Преобразовать строку в DateTime - PullRequest
4 голосов
/ 24 февраля 2010

У меня есть такая строка:

"20090212"

и я хочу преобразовать в действительное время C # datetime.

Мне нужно разобрать это, потому что это кажется слишком большой работой?

Ответы [ 3 ]

13 голосов
/ 24 февраля 2010

Вы можете использовать DateTime.ParseExact :

DateTime result =
    DateTime.ParseExact("20090212", "yyyyMMdd", CultureInfo.InvariantCulture);
4 голосов
/ 24 февраля 2010

Посмотрите на метод DateTime.TryParseExact ( MSDN ). Я предпочитаю метод TryParseExact методу ParseExact, потому что он возвращает логическое значение, указывающее, было ли преобразование успешным, вместо того, чтобы выдавать исключение, но любое из них будет работать.

2 голосов
/ 24 февраля 2010
DateTime.ParseExact(str, "yyyyMMdd", CultureInfo.CurrentCulture);

... и я действительно сомневаюсь, что добрался туда первым.

Хотя для полноты картины я предпочитаю TryParseExact

DateTime dt;
if(DateTime.TryParseExact(str, "yyyyMMdd", CultureInfo.CurrentCulture, DateTimeStyles.None, out dt)) { 
  // ... use the variable dt 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...