Преобразование строки в дату и время путем разбора

1

Я получаю строку в следующем формате

string dt=  "\"2014-06-01T05:00:00.000Z\""

Я пытаюсь преобразовать его в Date следующим образом

mDateTime dt = Convert.ToDateTime(dt)

Я получаю сообщение об ошибке. При преобразовании строки в дату используйте синтаксический анализ строки. Пожалуйста, дайте мне знать, как я могу разобрать строку на сегодняшний день. благодаря

  • 0
    Примечание: вы уверены, что строки, которые вам действительно нужно проанализировать, имеют кавычки, и это не JSON или XML?
Теги:

4 ответа

5
Лучший ответ

Метод Convert.ToDateTime завершается с ошибкой, потому что это не стандартный шаблон даты и времени для вашего CurrentCulture (и, возможно, поддержка этой формы не поддерживается культурой).

Вы можете использовать собственное форматирование даты и времени с помощью методов DateTime.TryParseExact или DateTime.ParseExact.

Вот пример LINQPad;

string s = "\"2014-06-01T05:00:00.000Z\"";
DateTime dt;
if(DateTime.TryParseExact(s, "'\"'yyyy-MM-dd'T'HH:mm:ss.fff'Z\"'", 
                          CultureInfo.InvariantCulture,
                          DateTimeStyles.None, out dt))
{
    dt.Dump();
}

Выход будет;

6/1/2014 5:00:00 AM

Здесь demonstration.

3

Сначала вам нужно обрезать кавычки, а затем разобрать:

DateTime result = DateTime.Parse(dt.Trim('\"'));
1

вы можете использовать ниже мнимый код

string dt = "\"2014-06-01T05:00:00.000Z\"";
dt = dt.Replace("\"", "");
DateTime dt12 = Convert.ToDateTime(dt);
1

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

string dt = "\"2014-06-01T05:00:00.000Z\"";
dt = dt.Replace("\"", "");
DateTime dtFinal = DateTime.ParseExact(dt,"yyyy-MM-ddTHH:mm:ss.fffZ",
                                                  CultureInfo.InvariantCulture);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню