DateTime.ParseExact在windows xp上抛出异常

时间:2012-11-24 15:35:43

标签: c# .net visual-studio-2010 datetime window

我有以下代码行:

dt.Rows[0]["duedate"] = DateTime.ParseExact(textBox_duedate.Text, "dd-MM-yyyy", CultureInfo.InvariantCulture); 

其中“duedate”是DataTable dt中的DateTime列。当我在具有.Net framework 3.5的Windows 7上运行它时,它运行正常但是当我在具有.Net framework 3.5的Windows xp SP3上运行它(它还安装了.Net framework 2.0)时,我的应用程序抛出异常“字符串不是被确认为有效的日期时间....“

当我在异常详细信息中看到“加载的程序集信息”时,似乎加载.net框架程序集版本2.0。这也可能是问题吗?此外,如何使我的应用程序使用.net程序集版本3.5?我正在Visual Studio 2010中编译我的应用程序。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

我认为这不是框架问题,因为它是OS当前文化的问题。这两款电脑的操作系统都有不同的文化设置,这就是为什么会出现这个问题。

试试这个

dt.Rows[0]["duedate"] = DateTime.ParseExact(textBox_duedate.Text, 
                            new CultureInfo("en-US")).ToString("dd-MM-yyyy");

希望这会有所帮助!!

答案 1 :(得分:0)

也许输入字符串包含空格?在解析之前你可以Trim