远程计算机中的日期区域性问题
本文关键字:日期 区域性 问题 计算机 | 更新日期: 2023-09-27 18:10:50
我正在编写一个ASP。. NET MVC应用程序在西班牙语机器上,所以我的日期是(年月日)。
但是我的远程vps使用的是en-US W2k8,所以当我在那台机器上创建日期时,它将是(mm/dd/yyyy)
我不知道解决这个问题的正确方法是什么
我有一个注册表,它采用类型字符串(dd/mm/yyyy)并将其发送到控制器。我猜模型绑定器创建了一个新的DateTime,它将被发送到控制器,因为如果我(在远程)插入31/10/2011之类的东西,它会说日期不正确,所以当模型绑定器尝试创建DateTime时,它会哭。
所以我需要一种方法来指定(我猜这将是全局的),我所有的日期将是dd/mm/yyyy。因此,当模型绑定器创建一个新的日期时,它将使用该格式。
我该怎么做?我认为这在未来会有问题因为我也想本地化我的应用在英语上英语用户会使用mm/dd/yyyy
我真的没有MVC3的任何经验,但在高层次上你的问题是相当微不足道的。在将请求绑定到模型对象之前,您当前的线程区域性需要与客户端的线程区域性相匹配。有不同的方法可以做到这一点,但最明显的是:
1)将应用程序拆分为顶级区域性子文件夹。例如,把你的/my_url/变成/en/my_url/,/sp/my_url/等等。织网。配置为具有相关区域性设置的每个。这可能比你想投入的工作要多。
2)将区域性信息与表单数据一起发送,并在绑定前拦截它。我确信在执行控制器操作之前,您可以处理某种事件。您可以抛出一个1-line来根据post参数设置当前线程区域性。
可能有一种基于请求映射将这两者结合起来的方法。类似于/{language}/my_url/。就像我说的,我并没有真正使用微软版本的MVC设计模式,所以我不太了解它的技术细节。
您可以在web配置文件中指定区域性