Строка C # для DateTime - PullRequest
       3

Строка C # для DateTime

1 голос
/ 06 сентября 2010
DateTime frm_datestart = DateTime.Parse(dateStart.Text);

Эта строка выдает ошибку:

Сведения об исключении: System.FormatException: строка не была признается действительным DateTime.

Где введенная строка из Jquery-UI, примеры:

 09/29/2010
 09/30/2010

Кто-нибудь знает, какой должен быть правильный формат? Я удивлен, что это не работает: S

Ответы [ 5 ]

4 голосов
/ 06 сентября 2010

Вы можете использовать перегруженную версию метода DateTime.Parse(), которая принимает второй параметр DateTimeFormatInfo.

System.Globalization.DateTimeFormatInfo dti = new System.Globalization.DateTimeFormatInfo();
dti.ShortDatePattern = "MM/dd/yyyy";
DateTime dt = DateTime.Parse(dateStart.Text, dti); 
3 голосов
/ 06 сентября 2010

ищите DateTime.ParseExact метод.

0 голосов
/ 06 сентября 2010

Проблема с методом DateTime.ParseExact (), предложенным в предыдущих ответах, заключается в том, что он не работает в некоторых культурах. Поэтому ваше приложение может не работать правильно в определенных операционных системах.

Если вы уверены, что dateStart.Text всегда будет в одном и том же формате (например, en-US), вы можете попробовать передать соответствующий CultureInfo в качестве второго аргумента. Для формата "MM / dd / yyyy" используйте CultureInfo.InvariantCulture.

0 голосов
/ 06 сентября 2010

Используйте DateTime.ParseExact , чтобы указать такой формат: DateTime.Parse("dd/MM/yyyy", dateStart.Text, null)

0 голосов
/ 06 сентября 2010
val = dateStart.Text.ToString("yyyy-M-d HH:mm:ss");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...