Я получаю строку в следующем формате
string dt= "\"2014-06-01T05:00:00.000Z\""
Я пытаюсь преобразовать его в Date следующим образом
mDateTime dt = Convert.ToDateTime(dt)
Я получаю сообщение об ошибке. При преобразовании строки в дату используйте синтаксический анализ строки. Пожалуйста, дайте мне знать, как я могу разобрать строку на сегодняшний день. благодаря
Метод 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
.
Сначала вам нужно обрезать кавычки, а затем разобрать:
DateTime result = DateTime.Parse(dt.Trim('\"'));
вы можете использовать ниже мнимый код
string dt = "\"2014-06-01T05:00:00.000Z\"";
dt = dt.Replace("\"", "");
DateTime dt12 = Convert.ToDateTime(dt);
Попробуй это:
string dt = "\"2014-06-01T05:00:00.000Z\"";
dt = dt.Replace("\"", "");
DateTime dtFinal = DateTime.ParseExact(dt,"yyyy-MM-ddTHH:mm:ss.fffZ",
CultureInfo.InvariantCulture);