2017-01-08 65 views
0

我的過濾器:角日期過濾器,但日期將被轉換成UTC

.filter('emedicineDateTimeFormat', function ($filter) { 
    return function (input) { 
     if (input == null) { return ""; } 

     var date = $filter('date')(new Date(input), 'dd.MM.yyyy hh:mm:ss'); 
     return date.toUpperCase(); 

    }; 
}); 

,如果輸入的是:2017-01-04T14:30:00

則輸出爲04.01.2017 03:15:00

,而不是04.01.2017 14:15:00

爲什麼?

回答

2

如果您想24小時使用大寫的H,例如here

'dd.MM.yyyy HH:mm:ss' 

您確定您沒有在輸出和預期結果中拼錯嗎? 你住在UTC + 01:00時區嗎?

默認情況下,AngularJS使用瀏覽器時區。如果你想使用UTC,你應該通過第三個參數來過濾日期'UTC'。看看here

+0

是的我住在UTC + 1時區。但爲什麼自動改變很有趣? – senzacionale

+0

和jsfiddle也返回04.01.2017 15:30:00而不是04.01.2017 14:30:00 – senzacionale

+0

因爲我住在UTC + 03:00,所以我的JSFiddle返回'04.01.2017 17:30:00' ;-)。 – Antonio