【发布时间】:2014-10-22 10:08:24
【问题描述】:
我目前正在考虑实施 DateTime 本地化的方法,考虑到用户时区和用户文化来决定我们 MVC4 应用程序的本地时间和日期格式。
目标(如果可能):
- 将用户本地 DateTime 转换为 UTC 日期,以便在控制器和数据库上使用
- 在所有 ViewModel/JsonResults 中,将 UTC 转换为用户的本地 DateTime 和其文化格式,以便在视图中使用以及在第三方控件的 JSON 提要中使用
我们系统中的用户都有帐户,他们专门设置了时区和文化设置,因此我将始终可以访问这些元素。
本地 -> UTC(已解决)
对于 1. 我有一个自定义模型绑定器,它获取用户本地时间并将时间转换为 UTC,它按预期工作。
UTC -> 本地
对于 2。我不确定解决此问题的最佳方法是什么。我真的很想拦截所有 DateTime 属性,并将值从 UTC 格式化为用户本地时间/文化,然后再返回到视图或作为 JSON 对象返回。
有没有一种通用的方法我可以使用 ActionFilter 之类的东西来做到这一点?如果我能找到一种方法在一个地方执行此操作,该方法将格式化 DateTimes 以便在我的视图和 JSON 结果中使用,那就太好了。
我知道我可以将其拆分出来,并在显示/编辑器模板中执行此操作,但我遇到的问题是在第三方控件的 JSON 提要中返回 UTC 日期。
【问题讨论】:
标签: c# asp.net-mvc datetime localization timezone