在我找到另一个论坛网站与我需要回答的完全相同的问题(但没有答案)之前,我并不期待描述这个问题。所以我的问题要归功于这个人......
我们有一个安装在客户端桌面上的大型 Windows .Net 应用程序(winform 可执行文件)。此应用程序在不同时区的服务器上调用 Web 服务。几乎所有面向日期的组件都会检测时区差异并自动调整日期时间值(在 SQL 查询生成的数据集中返回),这在大多数应用程序中通常是可取的,但会导致与“日期”而非“日期时间”相关的会计相关应用程序出现问题。我们只对“日期”部分感兴趣。但是,2003 年 1 月 1 日 GMT-5 的日期会在客户端上自动转换为 2002 年 12 月 31 日 11:00 GMT-6。为了视觉目的,我们不想遍历所有代码并提取 UniversalTime 以回到 2003 年 1 月 1 日,而是简单地“伪造”
问题:我们能否仅以编程方式为当前运行的实例设置 TimeZone,而不是全局设置?
我真的没有太多要补充的,因为这是我们的确切问题。在我们的例子中,我们有 ActiveReports,它们将远程 SQL 数据提取到数据集中,然后将报表绑定到数据集。因此,例如,生日是错误的,因为我们为他们存储了日期,而西方时区的日期减去了 X 小时?所以生日相差负1。
有什么想法吗?
谢谢!
赛斯