【问题标题】:String to date time conversion fails on hosted apllication on IISIIS 上托管应用程序上的字符串到日期时间转换失败
【发布时间】:2015-03-06 10:14:24
【问题描述】:

我有一个带有 ole db 连接的 MS Access 数据库的 asp.net 应用程序。在使用 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() + "'))";

【问题讨论】:

  • 你的代码在哪里?
  • strQuerey += " WHERE (CDate(Shift.[ShiftDate])>=CDate('" + new DateTime(selectedDate.Year, selectedDate.Month, 1).ToShortDateString() + "')和 CDate(Shift.[ShiftDate])

标签: asp.net datetime iis ms-access-2007 oledb


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回答。这是一个带有 Ms Access 数据库的 ASP.net 应用程序,我的代码是 strQuerey += " WHERE (CDate(Shift.[ShiftDate])>=CDate('" + new DateTime(selectedDate.Year, selectedDate.Month, 1)。 ToShortDateString() + "') 和 CDate(Shift.[ShiftDate])
  • ToShortDateString 方法的输出字符串取决于当前流语言环境。这很可能是问题的原因。
  • 谢谢。您能否为此提出任何解决方案
  • 您可以更改当前流的语言环境或检查 ToShortDateString 上是否有任何过载与语言环境是输入参数。
猜你喜欢
  • 2017-04-30
  • 2018-12-25
  • 2013-03-13
  • 1970-01-01
相关资源
最近更新 更多