0

我已将我的 DateOfBirth 属性声明为字符串,并在将其传递给数据库之前将其解析为 DateTime,因为 DateOfBirth 列在那里是 DateTime 格式。

在我的本地系统中,转换工作正常,但在将应用程序托管到服务器后,DateTime 转换显示错误,如“字符串未被识别为有效的 DateTime”。

我试过了

 <system.web>
  <globalization culture="en-gb"/>
  <!-- ... -->
</system.web>

DateTime.Parse(DateOfBirth, new CultureInfo("en-GB"))

没用,这是什么问题,谁能帮帮我...

4

3 回答 3

4

我的猜测是,根据文化,您传递的日期无效。一般来说,英国日期是先写日期,然后写月份。您将在 1988 年 4 月 13 日通过,解析到第 13 个月的第 4 天。13是几月?我不知道,.Net 运行时也不知道。

于 2012-04-27T20:26:25.563 回答
2

您需要对其进行转换,例如:

var sqlDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");
于 2012-04-27T19:24:23.313 回答
2

我有同样的问题,我将 web.config 文件中的文化信息更改为:

<globalization culture="en-gb" uiCulture="auto"/>

或者

尝试将您的字符串解析为:

DateTime dob = DateTime.ParseExact(DateOfBirth, "dd/MM/yyyy", 
CultureInfo.InvariantCulture);

希望能帮助到你... :)

于 2012-04-27T22:28:33.200 回答