0

我有以下代码行:

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

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

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

任何帮助,将不胜感激。

4

2 回答 2

0

我相信这不是框架的问题,因为它是操作系统当前文化的问题。两台电脑在其操作系统中都有不同的文化设置,这就是发生此问题的原因。

试试这个

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

希望这会有所帮助!

于 2012-11-24T15:42:35.327 回答
0

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

于 2012-11-24T15:56:36.600 回答