我正在寫一個將在全球範圍內使用的mvc4應用程序。部分應用程序在添加或修改事務時記錄。存儲UTC時間。在當地時間顯示它
所以我將交易日期時間保存爲UTC。從客戶端什麼是我最好的方式來顯示日期,因爲他們期待?
這是一個JavaScript函數,我應該使用還是應該在視圖內做些什麼?
我正在寫一個將在全球範圍內使用的mvc4應用程序。部分應用程序在添加或修改事務時記錄。存儲UTC時間。在當地時間顯示它
所以我將交易日期時間保存爲UTC。從客戶端什麼是我最好的方式來顯示日期,因爲他們期待?
這是一個JavaScript函數,我應該使用還是應該在視圖內做些什麼?
在內部,javascript日期對象將時間存儲爲UTC(1970-01-01T00:00:00Z)以來的毫秒數。傳遞時間最簡單的方法是使用數字,所以:
// 2012-09-16T10:30:00.000Z
var ms = 1347791400000;
// Create a new date object using UTC milliseconds
var d = new Date(ms);
alert(d); // Shows local time equivalent, e.g. 2012-09-16T20:30:00GMT+1000
或者,你可以通過一個UTC時間戳,它拆分成其組件並將其轉換爲使用Date.UTC約會對象。請注意,月份基於零,因此必須從日曆月份數中扣除。
要獲得當地時間的UTC毫秒值,請使用Date.prototype.getTime。對於上面的示例:
alert(d.getTime()); // 1347791400000
這取決於您的偏好。如果在服務器端有用戶時區,存儲在數據庫中,最簡單的方法是使用DateTimeOffset
。
例如:Creating a DateTime in a specific Time Zone in c# fx 3.5。
或者,使用JavaScript getTimezoneOffset() Method,設置cookie並在服務器上讀取它。您也可以使用許多客戶端庫,特別是如果您使用客戶端模板。
請定義「因爲他們期待」。 – RobG