加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用AngularJS日期过滤器与UTC日期

发布时间:2020-12-17 09:01:59 所属栏目:安全 来源:网络整理
导读:我有一个UTC日期以毫秒为单位,我传递给Angular的日期过滤器的人格式。 {{someDate | date:'d MMMM yyyy'}} 真棒,除了someDate是在UTC和日期过滤器认为它在本地时间。 我怎么能告诉Angular someDate是UTC? 谢谢。 类似问题 here 我会重新发布我的回复,并
我有一个UTC日期以毫秒为单位,我传递给Angular的日期过滤器的人格式。
{{someDate | date:'d MMMM yyyy'}}

真棒,除了someDate是在UTC和日期过滤器认为它在本地时间。

我怎么能告诉Angular someDate是UTC?

谢谢。

类似问题 here

我会重新发布我的回复,并提出合并:

输出UTC似乎是一些混乱的主题 – 人们似乎倾向于moment.js。

借用从这个answer,你可以做这样的事情(即使用一个转换函数创建日期与UTC构造函数)没有moment.js:

控制器

var app1 = angular.module('app1',[]);

app1.controller('ctrl',['$scope',function($scope){

  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));
  };

    $scope.toUTCDate = toUTCDate;
    $scope.millisToUTCDate = millisToUTCDate;

  }]);

模板

<html ng-app="app1">

  <head>
    <script data-require="angular.js@*" data-semver="1.2.12" src="http://code.angularjs.org/1.2.12/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body>
    <div ng-controller="ctrl">
      <div>
      utc {{millisToUTCDate(1400167800) | date:'dd-M-yyyy H:mm'}}
      </div>
      <div>
      local {{1400167800 | date:'dd-M-yyyy H:mm'}}
      </div>
    </div>
  </body>

</html>

这里是plunker玩它

参见this和this。

还要注意,使用这种方法,如果你使用’Z’从Angular的日期过滤器,它似乎仍然打印您的本地时区偏移量。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读