TryParse специальный формат даты - PullRequest
7 голосов
/ 28 апреля 2011

Я пытаюсь проанализировать метку даты и времени из внешней системы следующим образом:

DateTime expiration;
DateTime.TryParse("2011-04-28T14:00:00", out expiration);

К сожалению, это не распознано. Как я могу успешно разобрать это?

sl3dg3

Ответы [ 5 ]

12 голосов
/ 28 апреля 2011

Укажите точный формат в DateTime.TryParseExact:

DateTime expiration;

string text = "2011-04-28T14:00:00";
bool success = DateTime.TryParseExact(text,
                                      "yyyy-MM-ddTHH:mm:ss",
                                      CultureInfo.InvariantCulture,
                                      DateTimeStyles.None,
                                      out expiration);
2 голосов
/ 28 апреля 2011

Попробуйте это

DateTime expiration;
DateTime.TryParse("2011-04-28 14:00:00", out expiration); 

Без использования "T".

2 голосов
/ 28 апреля 2011

вместо этого можно использовать DateTime.TryParseExact.

Как создать .NET DateTime из формата ISO 8601

1 голос
/ 28 апреля 2011

Пользователь DateTime.TryParseExact работает следующим образом:

DateTime dateValue;

if (DateTime.TryParseExact(dateString, "yyyy-MM-ddTHH:mm:ss", 
                              new CultureInfo("en-US"), 
                              DateTimeStyles.None, 
                              out dateValue))
{
    // Do Something ..
}

Читать о DateTime .

1 голос
/ 28 апреля 2011

Вам необходимо добавить "00000Z" к строковому аргументу.

DateTime.TryParse("2011-04-28T14:00:0000000Z", out expiration);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...