我並不期待描述這個問題,直到我發現了另一個論壇網站完全相同的問題,我需要回答(但沒有答案。)因此,與信貸this guy這裏是我的問題...如何獲取.NET WinForms組件以使用SET時區而不是客戶端時區?
我們有一個大型的Windows.Net應用程序(winform可執行文件),其中 安裝在客戶端的桌面上。此應用程序在不同時區的服務器上調用web 服務。幾乎所有的日期 導向部件檢測的時區差異,是「日期」 不會自動 調整日期時間值,這在大多數應用中,但 導致與會計相關的應用程序的問題一般需要(通過SQL 查詢生成的數據集返回) 「日期時間」爲導向。我們只對「日期」部分感興趣。 但是,格林威治標準時間1/1/2003的日期會自動轉換爲客戶端上的 12/31/2002 11:00 GMT-6。我們希望簡單地通過使 客戶端可執行文件「假」時區,而不是全部通過 代碼並提取UniversalTime以回到1/1/2003來獲取 可視目的與服務器的 相同的時區。
問題:我們能否以編程方式爲當前的 正在運行的實例設置TimeZone,而不是全局設置?
我真的沒有太多補充,因爲這是我們的問題。在我們的例子中,我們有ActiveReports將遠程SQL數據提取到數據集中,然後將報告綁定到數據集。因此,例如,生日是錯誤的,因爲我們正在爲他們存儲日期,而西部時區的日期減去X小時?所以生日是減去1。
有什麼想法?
謝謝!
賽斯
您正在使用什麼版本的.NET的? .NET2中有關於System.DateTime和時區(System.DateTime.Kind被添加)的一些更改。 假設它是DateTime,System.DateTime.Kind的值是什麼? 數據庫中的數據類型是什麼(例如sql server有幾個選項)? 您是否正在客戶端上運行查詢(並將其放入System.Data.DataSet中)或者您是否只是對ActiveReports進行查詢? 客戶端上的數據類型是什麼? System.DateTime或System.DateTimeOffset? –