2015-08-18 46 views
2

嘗試使用momentjs庫將以下日期戳記從服務器格式化爲用戶本地時區。將時間轉換爲用戶本地區域

新增小提琴:http://jsfiddle.net/2hgyb490/

我已經試過

moment.utc(date)

moment(date).format(<format>)

moment.utc(date).local()

從服務器我的時間字符串看起來是這樣的: 2015-08-17T15:33:00

我的過濾器看起來像:

var angular = require("angular"); 

module.exports = function filter (ngModule) { 

    // Filter ================================================================= 

    var filterName = "localTime"; 

    ngModule.filter("localTime", function (moment) 
    { 
     return (function(date) 
     { 
      debugger; 
      var formattedLocalTime = moment(date).local().format("h:mma M/d/YYYY"); 

      return formattedLocalTime; 
     }); 

    }); 

    return filterName; 
}; 

我也試過以下,但似乎不一致:

var testDateUtc = moment.utc(date); 
    var localDate = moment(testDateUtc).local(); 
    var formattedLocalTime = localDate.format("h:mma M/d/YYYY"); 

    return formattedLocalTime; 

回答

0

d小寫是一週的(檢查:localDate.day() === 4) 。

您需要一個大寫D該月的某天localDate.date() === 2)。

http://jsfiddle.net/2hgyb490/1/

+0

仍然得到一些奇怪的問題,如果我輸入凌晨1:00,它呈現爲12:00 PM。根據我的服務器人員,時間戳是正確的。我會嘗試使用時間字符串進行更新。 –

相關問題