Подтвердите короткие сроки на основе информации о культуре - PullRequest
0 голосов
/ 15 ноября 2010

у меня

DateTime dt = DateTime.Now;

 CultureInfo ci1 = new CultureInfo("de-DE"); // German

 CultureInfo ci2 = new CultureInfo("fr-FR"); // French



Console.WriteLine(dt.ToString("d", ci1)); // output: 15.11.2010

Console.WriteLine(dt.ToString("d", ci2)); // output : 15/11/2010

Теперь предположим, что пользователь ввел 15.11.2010, когда культура немецкая или французская, и в этом случае она недействительна.

Есть ли способ проверить даты на основе информации о культуре. Я ищу шаблон короткой даты

Спасибо

Ответы [ 2 ]

1 голос
/ 15 ноября 2010

Я нашел ответ .. Это DateTime.ParseExact

System.Globalization.CultureInfo cultureinfo = new System.Globalization.CultureInfo("fr-FR");

DateTime dt = DateTime.ParseExact("15.11.2009",cultureinfo.DateTimeFormat.ShortDatePattern,cultureinfo); 
// will throw error
but  not 

DateTime dt = DateTime.ParseExact("15/11/2009",cultureinfo.DateTimeFormat.ShortDatePattern,cultureinfo);

то же самое для всего.

Спасибо

0 голосов
/ 15 ноября 2010

Вы можете использовать системную функцию Convert.ToDateTime, см. http://msdn.microsoft.com/en-us/library/xhz1w05e(v=VS.90).aspx для справки.

Она выдаст исключение, если введенная вами дата недопустима в текущей культуре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...