我有一個在設置爲東部時間的SQL服務器上運行的進程,當它完成的進程我們用完成時間填充表時。我有一個視圖,目前正被多個應用程序使用,這些應用程序在不同列中顯示進程的日期/時間,因爲其他應用程序正在使用該視圖,所以我無法更改視圖。將DataGridView中的時間格式化爲本地時區
我用來返回我的流程數據的查詢如下,日期/時間正在轉換爲服務器端的varchar - 所以它不會作爲日期/時間來到UI。
SELECT CONVERT(VARCHAR(10), A2.TaskDateTime, 101) AS TaskDate,
CONVERT(VARCHAR(5), A2.TaskDateTime, 108) AS TaskTime
FROM Task AS T2
JOIN Application_Task AS A2
ON A2.TaskID = T2.TaskID
該數據然後通過datagridview顯示在UI中。我正嘗試將DataGridView中的時間列格式化爲我的本地時區,因爲用戶將處於不同的時區。
我查看了DataGridViewCellStyle.Format並搜索到了,發現this on converting to local time,但這是解析一個字符串。我似乎無法弄清楚如何將其應用於整個數據列。
我會很感激任何幫助和/或方向從哪裏開始。
我在這很拉時間的字符串版本的數據。我正在使用的視圖將時間作爲varchar返回,因此它不知道該列是DateTime字段。 – Taryn
可以按原樣返回datetime字段(即datetime)。之後,在具有gridview的客戶端,可以使用Format屬性設置爲「mm/dd/yyyy」到「hh:mm:ss t」。這對於日期時間值會在兩個邊界之間發生真正的幫助 - 例如,8月26日太平洋時間下午5:00實際上是8月27日的通用。 – Arun
我不能像我在原始問題中所說的那樣,我正在使用多個應用程序開始使用的視圖,所以我無法更改它。 – Taryn