我将在我的 ASP.NET MVC3 应用程序中添加对不同时区的支持。
解决方案是以 UTC 时间存储日期值,并存储用户时区偏移量。
所以,我需要两件事:
在“用户时间”中向用户发送日期值(很明显,我将日期传递给将时间转换为用户时间的包装器)
在“用户时间”中从用户那里检索日期并将其转换为 UTC。
问题是 - 将所有输入日期值转换为 UTC 时间的好方法是什么。或者是否有一种通用的方法可以向 ASP.NET MVC 添加一些转换规则?
这是我想要的理想模式(控制器接收已转换的值)
我将在我的 ASP.NET MVC3 应用程序中添加对不同时区的支持。
解决方案是以 UTC 时间存储日期值,并存储用户时区偏移量。
所以,我需要两件事:
在“用户时间”中向用户发送日期值(很明显,我将日期传递给将时间转换为用户时间的包装器)
在“用户时间”中从用户那里检索日期并将其转换为 UTC。
问题是 - 将所有输入日期值转换为 UTC 时间的好方法是什么。或者是否有一种通用的方法可以向 ASP.NET MVC 添加一些转换规则?
这是我想要的理想模式(控制器接收已转换的值)
一种方法可能是创建您自己的 ModelBinder,它为控制器中的操作方法执行映射和准备数据的工作。
Hanselman 博客中的这篇文章应该让您了解我的意思。显然,我假设您可以在方法中获取所需的所有数据
BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext);
就像使用存储库或帖子中的隐藏字段获取用户时区一样。