我目前正在考虑实现DateTime本地化的方法,同时考虑到用户时区和用户文化来决定我们的MVC4应用程序的本地时间和日期格式。ASP MVC - 使用时区和文化处理日期时间本地化
的目的(如果可能):
- 转换一个用户本地日期时间为UTC对控制器的使用和数据库
- 在所有的ViewModels/JsonResults日期,转换UTC到用户本地的DateTime并将其文化格式用于视图中,并用于第三方控件的JSON Feed
我们系统中的用户都有帐户,他们专门设置了他们的时区和文化设置,所以我将永远有权访问这些元素。
地方 - > UTC(解决)
对于1,我有一个自定义的模型绑定,是以用户的本地时间和转换时间为UTC,预期其工作。
UTC - >本地
对于2.我不知道什么是最好的方式来处理这一点。我真的想拦截所有的DateTime属性,并将它们的值从UTC格式化为用户本地时间/文化,然后它们返回到View或作为JSON对象返回。
可以有一种通用的方式,我这样做使用像ActionFilter的东西?如果我能找到一种方法在一个可以格式化DateTime以便在View和JSON结果中使用的地方,那将是非常好的。
我知道我可以将它分开,并在Display/Editor模板中执行此操作,但是我接下来遇到的问题是第三方控件的JSON Feed中返回的UTC日期。