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 属性