根据地区确认日期

时间:2013-04-15 14:22:30

标签: c# asp.net-mvc asp.net-mvc-4

我有一个MVC4应用程序,它在英国编译并托管在美国服务器上。在我的模型中,我有一个需要的日期字段。

附加到此字段的是日期选择器,在选择日期时,它将设置日期为英国格式" DD / MM / YYYY"例如23/12/2013。在提交表单时,应用程序会抛出验证错误,因为它不期望格式。

在MVC4中我该怎么做:

  1. 接受两种日期格式,即覆盖日期格式?我已设置日期格式但无法指定多种日期格式
  2. 服务器端我使用Linq将日期保存到数据库。这也会导致错误格式错误。我怀疑我需要转换到英国约会?
  3. 加载详细信息时,请根据用户的位置以正确的格式显示日期
  4. 检测用户服务器端的位置?
  5. 有没有人知道如何根据用户的全球化进行非常验证?

    由于

2 个答案:

答案 0 :(得分:2)

您是否在web.config中添加了以下细分?

<globalization 
    enableClientBasedCulture="true" 
    uiCulture="auto" 
    culture="auto" />

并以代码作为DateTime格式读取您的日期。这不应该给你一个问题。

另一种方法是在服务器端代码中读取日期始终为DateTimeUTC,并且当您在屏幕上显示日期时,使用.ToLocalTime()

答案 1 :(得分:1)

在网络配置中,在全球化部分中,将文化设置为“自动”。 这将使用用户当前的文化(包括数字和日期时间格式)

<globalization culture="Auto" />

.net框架将根据用户文化解析和呈现数据,MVC和Entity都能正常工作。