javascript - Angularjs 日期过滤器将时间毫秒转换为 UTC 不起作用

标签 javascript angularjs datetime timezone angularjs-filter

我正在尝试将时区传递给 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

http://jsfiddle.net/Cp73s/6312/

关于javascript - Angularjs 日期过滤器将时间毫秒转换为 UTC 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47899166/

相关文章:

angularjs - Angular ui-router,:id. $stateParams 为空的路由问题

c# - 为什么 DateTime.TryParseExact() 会为这些输入字符串返回不同的时区?

javascript - 添加自动播放 jquery 幻灯片

javascript - 无法访问 flowplayer api

javascript - 在 Controller angularJS中注入(inject)工厂

javascript - 管道在这个 AngularJS 表达式中做了什么

c# - 如何在 C# 中创建可以转换为 DateTime 的类?

mysql - 检索特定月份的数据

javascript - ajax成功访问类函数

javascript - 尝试从 algodClient.compile(sig) 获取 LogicSigAccount