根据文化信息验证短日期

时间:2010-11-15 07:03:43

标签: c#-3.0

我有

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

现在假设,当文化为德语或法语时,用户已输入11/15/2010,在这种情况下,文化无效。

有没有办法根据文化信息验证日期。我正在寻找短日期模式

由于

2 个答案:

答案 0 :(得分:1)

我找到了答案..它是 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);
对任何事情都一样。

由于

答案 1 :(得分:0)

您可以使用System的Convert.ToDateTime函数,请参阅http://msdn.microsoft.com/en-us/library/xhz1w05e(v=VS.90).aspx以供参考。

如果输入日期在当前文化中无效,则会抛出异常。