asp.net 中 Convert.ToDateTime 的问题

Posted

技术标签:

【中文标题】asp.net 中 Convert.ToDateTime 的问题【英文标题】:Problem with Convert.ToDateTime in asp.net 【发布时间】:2009-03-25 07:52:43 【问题描述】:

我有一个应用程序可以在西班牙服务器上正常运行。

当我将应用程序上传到在线服务器(英文窗口)时,我使用 Convert.ToDateTime 和 Convert.ToInt32 收到异常(类型为“输入字符串不是有效的 Datetime/Int32”)。有任何 web.config 行可以帮助我解决这个问题吗?我尝试在西班牙文化中添加全球化元素,但没有成功。

你能帮帮我吗?

提前致谢。 何塞马。

【问题讨论】:

【参考方案1】:

你需要:

System.Globalization.CultureInfo culture = 
              new System.Globalization.CultureInfo("es-ES");
DateTime myDateTime = Convert.ToDateTime(string, culture);

【讨论】:

嗨,谢谢你的快速回答,你的台词和这个一样吗?: 1º 将西班牙文化放入 web 配置中 2º Datetime datetime=Convert.ToDatetime("01/2009");谢谢。何塞马。 @Josema y,如果您没有明确指定一个,它将使用 web.config 中的那个。 @Josema 我认为这个 "Convert.ToDatetime("01/2009")" 只是一个错字,你有像 Convert.ToDateTime("31/01/2009") 之类的东西【参考方案2】:

您是否在String.Format() 调用中指定CultureInfo 参数作为IFormatProvider

【讨论】:

【参考方案3】:

您可能在全球化元素中设置了 uiculture 而不是culture,请参阅:http://msdn.microsoft.com/en-us/library/bz9tc508.aspx。

...
    <globalization culture="es-MX" />
...

您也可以尝试使用更具体的文化(如上述 es - 墨西哥)。

附言。我有一个这样工作的网站(实际上是使用culture="en",因为我的开发计算机当时配置了西班牙语,因此我需要强制使用英语)。

【讨论】:

@Josema 尝试具有更具体文化的变体,特别是考虑到您的场景在明确指定它时似乎有效,如在 ck 答案中。

以上是关于asp.net 中 Convert.ToDateTime 的问题的主要内容,如果未能解决你的问题,请参考以下文章

在 Asp.net / Asp.net mvc 中进行实时 Web 体验的方法是啥? [关闭]

ASP.NET/HTML:ASP.NET (.cs) 中 HTML 按钮的 onClick 属性

类型:.net;问题:ASP.NET路由;结果:ASP.NET 路由 .NET Framework 4

asp.net中如何输出数据?

在asp.net中如何对一些数据进行分组

更改 ASP.NET SPA 模板中的 ASP.NET 标识代码的原因?