我负责提出在棕地应用程序中实现用户特定时区的解决方案。存储在数据库中的每个日期都存储在服务器的本地时间中。这些日期没有存储时区或偏移信息。
这是一个非常大的应用程序,所以我意识到这将是很多工作。我担心的是,我们这样做的风险尽可能小。有没有人这样做过?如果是这样,最好的方法是什么,要避免哪些陷阱?
当前的想法是,我们将日期列中具有有意义的时间分量的所有数据转换为 UTC。然后,在表示层中,我们需要运行一个函数,将日期时间对象从 UTC 转换为我们需要向用户显示时的用户时区。
它是一个带有 SQL Server 2008 数据库的 ASP .NET 应用程序。我之所以提到这一点,是因为这些技术中可能有一些我不知道的有用工具,我们可以使用它们来帮助事情变得更顺利。