IIS 上托管应用程序的字符串到日期时间的转换失败

String to date time conversion fails on hosted apllication on IIS

我有一个 asp.net 应用程序,它带有带 ole db 连接的 MS Access 数据库。在使用 IIS 调试解决方案时,当从数据库中选择一个值并将其转换为日期时间时,我会将日期时间格式从 "dd/MM/yyyy" 更改为 MM/dd/yyyy 并引发错误?请为此提出解决方案?

strQuery += " WHERE (CDate(Shift.[ShiftDate])>=CDate('" + new DateTime(selectedDate.Year, selectedDate.Month, 1).ToShortDateString() + "') and CDate(Shift.[ShiftDate])<=CDate('" + new DateTime(selectedDate.Year, selectedDate.Month, 1).AddMonths(1).AddDays(-1).ToShortDateString() + "'))";

我敢打赌,您的 iis 服务器和调试环境具有不同的文化。将区域性传递给解析方法。

DateTime.Parse(dateStringVar, new CultureInfo("en-US", false));