Shridhar Salunkhe Ответов: 1

Преобразовать строку в формат даты?


как преобразовать строку в формат даты?

Что я уже пробовал:

public ActionResult SaveSelectedCustomers(string GetDateTime)
        {
            try
            {
                DateTime getDateTime = DateTime.ParseExact(GetDateTime, "yyyyMMdd HH:mm", CultureInfo.InvariantCulture);
                return Json(true);     
            }
            catch( Exception ex)
            {
                throw ex;
            }
        }



он выдает следующую ошибку:-
An exception of type 'System.FormatException' occurred in oMail.Web.dll but was not handled in user code

Additional information: String was not recognized as a valid DateTime.

Maciej Los

Вы уверены, что эта строка находится в таком формате: "yyyyMMdd"?

Shridhar Salunkhe

dateFormat: "dd-mm-yy" в jquery

Maciej Los

Итак, измените строку, в которой вы преобразуете строку в дату, на: DateTime getDateTime = DateTime.ParseExact(GetDateTime, "dd-MM-yy", CultureInfo.InvariantCulture);

Shridhar Salunkhe

а на время?

Shridhar Salunkhe

не работать

Maciej Los

Как я уже упоминал в ответе на ваш вопрос, вы должны предоставить точный формат даты и времени! Перейдите по ссылке, чтобы получить более подробную информацию.

Shridhar Salunkhe

строка: - Пн 22 мая 2017 12:48:00 GMT+0530 (стандартное время Индии)
эту строку я получаю из jquery

Maciej Los

См. обновленный ответ.

1 Ответов

Рейтинг:
1

Maciej Los

Мацей Лос написал:

Вы уверены, что эта строка находится в таком формате: "yyyyMMdd"?
Salunkhe Шридхар писал:

параметра dateformat: "dd-mm-yy" в jQuery



значение datetime.Метод ParseExact (String, String, IFormatProvider) (System)[^] ожидает точного строкового представления даты,которая должна быть в формате, определенном параметром format. Если есть часть времени,вы должны определить ее.

[РЕДАКТИРОВАТЬ]
В случае, если у вас есть такой формат даты, как этот: Mon May 22 2017 12:48:00 GMT+0530, вы должны использовать тип datetimeoffset.Метод ParseExact (String, String, IFormatProvider) (System)[^] вместо DateTime.Parse метод.
Видеть: C# string to DateTime with timezone-переполнение стека[^]