Конвертировать строку в дату в .NET, если мой формат входящей даты в ГГГГММДД - PullRequest
40 голосов
/ 03 февраля 2010

Как лучше всего преобразовать строку в дату в C #, если мой формат входящей даты в YYYYMMDD

Пример: 20001106

Ответы [ 6 ]

56 голосов
/ 03 февраля 2010

Использовать DateTime.ParseExact (). Что-то вроде:

   string date = "20100102";
   DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture);
11 голосов
/ 03 февраля 2010
 DateTime.TryParseExact(myDateString, "yyyyMMdd", 
                         CultureInfo.InvariantCulture, 
                         DateTimeStyles.None, out myDateVar )
4 голосов
/ 03 февраля 2010

используйте DateTime.TryParseExact со строкой шаблона "yyyyMMdd", если вы используете .NET 2.0 или выше.

Если вы застряли в .NET 1.1, используйте DateTime.ParseExact

см. Стандартные строки формата DateTime для правил создания строк шаблонов.

4 голосов
/ 03 февраля 2010
3 голосов
/ 03 февраля 2010

Использование TryParseExact, как правило, приятнее, чем ParseExact, поскольку оно не выдает исключение в случае сбоя преобразования. Вместо этого он возвращает true, если он успешен, и false, если это не так:

DateTime dt;
if (DateTime.TryParseExact("20100202", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
   Console.WriteLine(dt.ToString());
}
3 голосов
/ 03 февраля 2010
DateTime yourDateTime = DateTime.ParseExact(yourString, "yyyyMMdd", null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...