Строка приведения к DateTime

У меня есть строка в формате

13 июля 2011 13:07

Я хочу сделать это как

dd/MM/yyyy HH:mm tt

    e.g: 13/7/2011 11:49:00 AM //string=Jul 13 2011  1:07PM

Я использую следующий код, чтобы привести его к дате.

DateTime date = Convert.ToDateTime(Convert.ToDateTime(myDateString).ToString("dd/MM/yyyy HH:mm:ss"));

Это прекрасно работает, если мой день в моей строке меньше 13

Jul 12 2011  1:07PM //this will cast to desire format fine!

    Jul 13 2011  1:07PM //gives error String was not recognized as a valid DateTime. 

Я понимаю, что это день, как месяц, но я не могу найти способ привести его к желаемому формату.

4 ответа

Увидеть DateTime.ParseExact:

DateTime date = DateTime.ParseExact(myDateString, "MMM dd YYYY H:mmtt", CultureInfo.InvariantCulture);

Смотрите также Time Format Strings

Я полагаю, что вы ищете это:

Date.ParseExact("Jul 13 2011 1:07PM", "MMM d yyyy h:mmtt", Globalization.CultureInfo.InvariantCulture)

Вы должны использовать DateTime.TryParse

DateTime dt ;
if (DateTime.TryParse("Jul 13 2011 1:07PM",out dt))
   MessageBox.Show("Converted to Date object");

Опубликовать, что вы используете ToString() способ получить желаемый результат

dt.ToString("dd/MM/yyyy HH:mm")

Сначала преобразуйте строку Jul 13 2011 1:07PM на дату:

var date = Convert.ToDateTime("Jul 13 2011 1:07PM");

Затем преобразуйте его в строку в формате, который вам нравится:

var dateText = date.ToString("dd/MM/yyyy HH:mm:ss");
Другие вопросы по тегам