1
我有一個數據庫存儲在UTC的記錄。 C#.NET應用程序讀取數據並填充* .cshtml表服務器端。服務器不知道客戶端的時區,因爲它不是瀏覽器報告的參數,並且沒有登錄名或用戶表單供用戶輸入配置文件並聲明其時區。結果是在瀏覽器中以UTC顯示的表格。 我知道,如果該值是在一個javascript變量,那麼讓瀏覽器做出時區偏移調整是微不足道的。但是,數據以一組帶有文本的TD標籤到達瀏覽器。轉換爲本地客戶端與本地時間與c#
我能想到的任何解決方案將其轉換爲本地時間是不雅的 - 使用JavaScript遍歷表,獲取innerHTML,解析它,調整它並將其放回。這感覺像一個可怕的解決方案。有沒有更好的辦法?將數據作爲JSON對象傳遞並通過javascript動態創建表?再次感覺很笨拙。有沒有更簡單,使瀏覽器把TD>標記之間的值和調整,像
<TD> onsomething="this.innerHTML=adjustTime("2017-06-17 09:00:00");> </TD>
或者更好的辦法呢?
我會去的JSON/AJAX的解決方案,動態地創建表時數據返回。您可以在請求中傳遞瀏覽器的時區偏移量。得到它就像'var d = new Date()一樣簡單 var offset = d.getTimezoneOffset();' –
你也可以讓JavaScript設置一個查詢參數,它指出當前偏移量是什麼,並用它來渲染本地時間。 – phuzi
感謝Tim/Phuzi - 如果我得到了JAX/JSON路由,那麼我認爲我不需要將瀏覽器的偏移量傳遞給服務器,我可以在本地應用它。我希望可能有一個明顯簡單的方法,但懷疑你是正確的最好的方法來做到這一點。 – gregm