角度日期过滤器转换器,但日期始终转换为UTC

时间:2017-01-08 18:29:07

标签: angularjs

我的过滤器:

.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

为什么?

1 个答案:

答案 0 :(得分:2)

如果你想让24小时的时间使用大写的H.一个例子是here

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

你确定你的输出和预期结果没有拼写错误吗? 你住在UTC + 01:00时区吗?

默认情况下,AngularJS使用浏览器时区。如果要使用UTC,则应将第3个参数传递给日期过滤器'UTC'。看here