Чтение и отображение значения в Datetimepicker - PullRequest
0 голосов
/ 08 февраля 2012

Я пишу дату в XML-файле, а затем читаю дату из XML-файла для отображения. Я использовал Datetimepicker, который имеет customFormat = MM/dd/yyyy. & устанавливает <date>02/29/2001</date> в xmlfile.

при чтении, если значение "02/02/2001", оно отлично читает и показывает его в datetimepicker

но если значение равно "02/22/2001". изм :

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

Ответы [ 3 ]

2 голосов
/ 08 февраля 2012

Строка "02/29/2001" фактически не образует правильную дату, поскольку февраль 2001 года имеет только 28 дней, а ваша строка читается как 29 февраля 2001 года , так же, как 32 января 2001 года.

1 голос
/ 08 февраля 2012

Вы установили cultureinfo вашего приложения, чтобы ожидать дату в формате MM / dd / yyyy?Кажется, что он ожидает дд / мм / гггг, поэтому 02.02.2001 работает, я подозреваю, что 28.02.2001 также будет работать.

Редактировать: Погоди, 2001 год не был високосным, 29/02/2001 никогда не будет действительной датой!

Редактировать: добавленный образец

// C#
// Put the using statements at the beginning of the code module
using System.Threading;
using System.Globalization;
// Put the following code before InitializeComponent()
// Sets the culture to English (US)
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
// Sets the UI culture to English (US)
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

отсюда: http://msdn.microsoft.com/en-us/library/b28bx3bh%28v=vs.80%29.aspx больше информации в ссылке на класс вкомментарии

1 голос
/ 08 февраля 2012
string val = "10/10/2010";
dateTimePicker1.Value = Convert.ToDateTime(val);
...