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

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

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

你能帮帮我吗?

提前致谢。 何塞马。

【问题讨论】:

    标签: c# asp.net formatting web-config culture


    【解决方案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 答案中。
      猜你喜欢
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 2020-09-19
      • 2015-02-07
      • 2011-04-23
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多