【发布时间】:2013-05-22 17:17:50
【问题描述】:
在我的网站中,我使用DateTime.TryParse() 来解析日期时间数据。我的问题是我不知道格式。例如,如果用户使用美国格式,则格式为mm/dd/yyyy,而用户使用英国,则使用dd/mm/yyyy 格式。
我认为格式是基于他们的计算机设置。那么,如何使用他们计算机中的格式解析字符串?
【问题讨论】:
标签: c# datetime globalization
在我的网站中,我使用DateTime.TryParse() 来解析日期时间数据。我的问题是我不知道格式。例如,如果用户使用美国格式,则格式为mm/dd/yyyy,而用户使用英国,则使用dd/mm/yyyy 格式。
我认为格式是基于他们的计算机设置。那么,如何使用他们计算机中的格式解析字符串?
【问题讨论】:
标签: c# datetime globalization
尝试设置
<system.web>
<globalization culture="auto" />
<system.web>
在Web.Config 并使用CultureInfo.CurrentCulture 获取当前文化。
您也可以查看HttpContext.Request.UserLanguages 以获取有关客户的更多信息。
【讨论】:
虽然 Frank59 的回答是一个好的开始,但您不应该完全依赖它。 MSDN documentation 特别声明:
完全依赖浏览器设置来确定页面的 UI 文化并不是最佳做法。用户经常使用未设置为其偏好的浏览器(例如,在网吧中)。您应该为用户提供一种方法来明确选择页面的语言或语言和文化(CultureInfo 名称)。
所以使用globalization culture="auto" 作为设置默认文化的一种方式,但为您的用户提供某种下拉列表来覆盖文化设置。
【讨论】: