我正在使用UTC格式的數據庫中存儲日期時間的Web應用程序。現在,當我檢索在UI中顯示的日期時間時,我必須將日期時間轉換爲用戶使用應用程序的特定時間。服務器端和客戶端的時區偏移量不相同
要將UTC的時間轉換爲特定的當地時間,我正在進行一些演示研究。我找到了兩種轉換時間的方法。一個來自服務器端,另一個來自客戶端。在服務器端,我使用ASP.NET,而在客戶端,我使用的是JavaScript。但問題是答案不一樣。
我在給代碼。
服務器端:
Label1.Text = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).ToString();
客戶端:
$(document).ready(function() {
var offset = new Date().getTimezoneOffset();
$('#Label1').text(offset/60);
});
在服務器端代碼是示出在標籤五點30分00秒的情況下。 在客戶端代碼的情況下,它在標籤中顯示-5.5。
我的問題是爲什麼這兩個UTC偏移量不一樣?
[時區偏移](http://ecma-international.org/ecma-262/5.1/#sec-15.9.5.26)在javascript中增加了當地時間以獲得UTC。此外,抵消甚至不是幾個小時,一些有半小時,至少有一個有15分鐘。傳遞時間的最好方法是使用timevalue(例如'date.getTime()'),因爲它返回UTC以UTC開始的時間,並且可以賦予日期構造函數以獲得等效的本地日期和時間值。 – RobG
兩者都是相同的:-) – Subin