2010-11-04 4 views
0
string Edate = collection["effectiveDatePicker"].ToString(); 
string Cdate = collection["cancelDatePicker"].ToString(); 

с даты я получаю 20101112 или 20101116Преобразование строки в дату с помощью ASP.NET

Тогда я doign soemthign как это Ассинг мой Datetime переменная

h.Edate= DateTime.ParseExact(collection["effectiveDatePicker"].ToString(), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture, DateTimeStyles.NoCurrentDateDefault); 
         h.CDate= DateTime.ParseExact(collection["cancelDatePicker"].ToString(), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCult 

После сохранения в база данных .. Я вижу, что EDate и CDate имеют такие значения

11/10/2010 
11/15/2010 

с такими же датами когда я отправляю снова, я получаю сообщение об ошибке в ParseExact, потому что строка, которую я получаю, является 11/10/2010, но ее ожидание 20101010

Может ли любой орган помочь мне?

ответ

1

Я могу вам точно сказать, что существует проблема переформатирования. Я не совсем понимаю ваш код и его шаги (я думаю, вы используете привязку данных или что-то подобное).

Похоже, что даты изначально заданы как yyyyMMdd, но при обратной передаче к этим датам применяется оператор ToString(), преобразовывая их в собственный формат MM/dd/yyyy вашей ОС.

Вы должны принудительно их преобразовать в yyyyMMdd снова, потому что по умолчанию ToString будет использовать CurrentUICulture, который не подходит для вас.

Вы должны показать нам код обновления

0

я не уверен, что ваш конкретный вопрос есть. Поскольку вы используете DateTime.ParseExact() и указываете формат «yyyyMMdd», передача строки, такой как «11/04/2010», не удастся.

2

Вы можете указать формат, что ваши даты приходят, как так:

string Edate = collection["effectiveDatePicker"].ToString("yyyyMMdd"); 
string Cdate = collection["cancelDatePicker"].ToString("yyyyMMdd"); 

Это должно гарантировать, что вы работаете со строками, которые выглядят как то, что вы хотите.

+0

Я получаю сообщение об ошибке System.Iformateprovider на этих линиях, если я использую эту строку кода .. thanks – kumar

+0

Как объявляется коллекция? Возможно, вам придется сначала наложить коллекцию ["effectiveDatePicker"] в качестве объекта даты, прежде чем вызывать ToString(). – GendoIkari

+0

Collection is FormCollection thanks – kumar

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