Строка приведения к 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");