Web API:将返回的所有日期转换为特定时区?

时间:2013-12-03 17:12:19

标签: .net api datetime asp.net-web-api

我正在使用.Net Web API,并在各种模型中返回日期时间。这些日期来自数据库,采用UTC格式。

我希望在将序列化为JSON并返回给用户之前,将所有这些日期转换为特定用户的时区(即EST,CST等)。每次从数据库中检索时,我都不想手动转换每个日期(它看起来不像DRY代码)。在数据库级别进行转换似乎也是错误的。

是否有一种简单的方法来应用某种过滤器,它会自动将所有返回的日期转换为特定的时区?例如,类似于以下内容:

[DateTime: EST Format]
class Event
   DateTime eventTime

如果没有简单的方法,你如何建议我处理这种情况?在UI层进行转换? (如果一次显示很多日期,我们将需要遍历所有日期并转换它们)

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。我建议为您的事件对象实现custom serializer。这将允许您在出路时将日期时间序列化为本地时间,并在返回途中将其序列化为。