我有一个带有两个参数的报告 - StartDate 和 EndDate - 它运行一个存储过程,该过程返回这两个日期之间的数据。
数据库中的日期以 UTC 格式存储。目前在英国,我们使用 BST (UTC+1)。
为了在正确的时区显示时间,在报告中我使用 System.TimeZone.CurrentTimeZone.ToLocalTime。
最终结果是报告上显示的时间看起来是正确的,但用户仍然需要以 UTC 格式输入 StartDate 和 EndDate 参数。这让用户非常困惑,因为他们希望能够输入当前时区的日期,但数据库中的时间是 UTC。
如何允许在正确的时区输入日期参数?
不幸的是,我们无法修改数据库的架构,所以我需要找到一种方法来在报告方面解决这个问题