1

我有一个带有两个参数的报告 - StartDate 和 EndDate - 它运行一个存储过程,该过程返回这两个日期之间的数据。

数据库中的日期以 UTC 格式存储。目前在英国,我们使用 BST (UTC+1)。

为了在正确的时区显示时间,在报告中我使用 System.TimeZone.CurrentTimeZone.ToLocalTime。

最终结果是报告上显示的时间看起来是正确的,但用户仍然需要以 UTC 格式输入 StartDate 和 EndDate 参数。这让用户非常困惑,因为他们希望能够输入当前时区的日期,但数据库中的时间是 UTC。

如何允许在正确的时区输入日期参数​​?

不幸的是,我们无法修改数据库的架构,所以我需要找到一种方法来在报告方面解决这个问题

4

1 回答 1

0

在 SSRS 中,如果数据库中存储的日期是 UTC,则在参数设置中从查询中选择时必须是 UTC。不支持更改来自参数查询的字段。根据您的要求,您可以在查询中将日期格式化为本地时间。或者您可以在参数中选择UTC日期,并将其呈现为本地时间

于 2015-02-01T13:19:35.460 回答