2015-05-19 4 views
0

У меня есть следующий C#, который дает мне ошибку выше при попытке проанализировать строку в datetime.Дата Преобразование объекта времени

DateTime currDate = DateTime.MinValue; 
DateTime.TryParseExact(date.Trim(), "M/d/yyyy", null, System.Globalization.DateTimeStyles.None, out currDate); 
if (currDate == DateTime.MinValue) 
    currDate = Convert.ToDateTime(date.Trim()); 

поток изображений label.text выглядит следующим образом {1/1/0001 12:00:00 AM}

Любые идеи о том, как преобразовать это?

+0

Что такое значение 'date.Trim()'? Есть ли связь с 'label.text'? –

+0

Значение date.Trim() - 31 марта 2015 г. – Madhu

+0

Нет связи с label.text – Madhu

ответ

0

Вы должны иметь формат d MMM yyyy для 31 March 2015

DateTime.TryParseExact(date.Trim(), 
         "d MMM yyyy", 
         none, 
         DateTimeStyles.None, 
         out currDate); 
0

Вы должны использовать формат MMMM для задания полного месяца, как указано в this MSDN документации.

и ваш код будет выглядеть следующим образом.

using System; 

public class Program 
{ 
    public static void Main() 
    { 
     DateTime currDate = DateTime.MinValue; 
     DateTime.TryParseExact("31 March 2015", "dd MMMM yyyy", null, System.Globalization.DateTimeStyles.None, out currDate); 
     Console.WriteLine(currDate); 
    } 
} 

Here работает dot net скрипка.

+0

Я пробовал все решения, но получаю ту же ошибку «Строка не была распознана как действительное время даты. Неизвестное слово начинается с индекса 1. " – Madhu

+0

Позвольте мне дать понять всем, в моем коде DateTime currDate = DateTime.MinValue; DateTime.TryParseExact (date.Trim(), "MM/dd/yyyy", null, System.Globalization.DateTimeStyles.None, out currDate); if (currDate == DateTime.MinValue) currDate = Convert.ToDateTime (date.Trim()); – Madhu

+0

дата имеет значение «31 марта 2015 года», а значение currDate равно «1/1/0001 12:00:00 AM» – Madhu

Смежные вопросы