我正在尝试将时区传递给 Angular js 日期过滤器:
var _date = $filter('date')(input, 'yyyy/MM/dd HH:mm:ss', 'UTC');
其中“输入”是以毫秒为单位的时间。在这种情况下,返回的日期时间字符串始终采用本地时区。
引用 fiddle 示例: http://jsfiddle.net/Cp73s/6312/
请告诉我这个 fiddle 有什么问题? Angular 版本是1.5。提前致谢。
最佳答案
无法使用
进行转换var _date = $filter('date')(input, 'yyyy/MM/dd HH:mm:ss', 'UTC');
用 fiddle 以其他方式编辑,
在过滤器中添加了utc转换函数,
myapp.filter('dateFormat', function($filter)
{
var toUTCDate = function(date){
var _utc = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
return _utc;
};
var millisToUTCDate = function(millis){
return toUTCDate(new Date(millis));
};
return function(input)
{
if(input == null){ return ""; }
var _date = $filter('date')(millisToUTCDate(input), "yyyy/MM/dd HH:mm:ss");
return _date.toUpperCase();
};
});
检查这个更新的 fiddle
关于javascript - Angularjs 日期过滤器将时间毫秒转换为 UTC 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47899166/