2013-08-19 3 views
0

У меня есть поле даты даты, которое нужно сохранить и обновить. Формат системного времени datetime: dd/MM/yyyy после сохранения его в sql-сервере. это в формате MM/dd/yy.Ошибка при преобразовании даты с помощью Convert.todatetime function.in asp.net

У меня есть некоторые другие текстовые поля даты также, в котором я по умолчанию, отображающее текущую дату с помощью функции

System.DateTime.Now.ToShortTimeString();

или сказать

DateTime.Today.ToString("MM/dd/yyyy"); 

при обновлении данных он дает мне ошибку

«строка не была признана действительной датой»

на линии, где им с помощью Convert.Todatetime(Textbox.Text) функции в методе обновления

+1

Возможно, текст из текстового поля недействителен «DateTime», проверьте его. Затем попробуйте использовать 'TryParseExact' из' DateTime' – wudzik

+0

Какая строка? Показать нас ... – DonBoitnott

+0

Я согласен с @wudzik. Скорее всего, это недопустимая строка. Вместо того, чтобы оставлять их как обычные текстовые поля, вы можете использовать jQuer и jQuery UI, чтобы превратить их в Date Pickers. – krillgar

ответ

0

/ является символом замены для разделителя даты текущей культуры, поэтому, если вы хотите обеспечить его использование CultureInfo.InvariantCulture:

DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture); 

См .: The "/" Custom Format Specifier

0

Использование ParseExcat

var dateTime = DateTime.ParseExact(Textbox.Text, 
    "MM/dd/yyyy",CultureInfo.InvariantCulture);