angularjs - 使用 angularjs 将 UTC 转换为本地时间

标签 angularjs

作为来自 json 的响应,我得到了 UTC 时区。我需要将其转换为本地时间。

<span class="text-muted">{{trans.txnDate}}</span>

任何人都可以帮忙吗?

最佳答案

编辑(2017 年 1 月 2 日):请引用 @Jason 的回答,它比这个更好,因为它使用自定义过滤器来修复日期格式 - 这是更 Angular 的做法。

我的原始答案和编辑:
您可以使用 date过滤以格式化日期:

<span class="text-muted">{{trans.txnDate | date:'yyyy-MM-dd HH:mm:ss Z' }}</span>
这将输出:
2010-10-29 09:10:23 +0530
(假设 trans.txnDate = 1288323623006; )
See this documentation of date in angularjs.org .它有相当多的例子,非常有帮助!

编辑:
为了回应您的评论,请使用以下内容获取日期 17 oct 2014 :
<span class="text-muted">{{trans.txnDate | date:'dd MMM yyyy' | lowercase }}</span>
检查我上面提到的文档链接。
编辑2:
为了回应您的其他评论,请使用以下代码。问题是您获得的字符串格式不正确,因此 Date对象无法识别它。我已经在 Controller 中对其进行了格式化,然后传递给了 View 。

function MyCtrl($scope) {
  var dateString = "2014:10:17T18:30:00Z";
  dateString = dateString.replace(/:/, '-'); // replaces first ":" character
  dateString = dateString.replace(/:/, '-'); // replaces second ":" character
  $scope.date = new Date(dateString);
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app ng-controller="MyCtrl">
  {{date | date:'dd MMM yyyy' | lowercase }}
</div>

替换的 JS 代码可以通过找到一种更智能的方法来替换 : 的前 2 次出现。性格。

关于angularjs - 使用 angularjs 将 UTC 转换为本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28602746/

相关文章:

html - 如何使用 Angular 显示带有更多按钮的长文本?

javascript - AngularJS 去掉 URL 中的#符号

angularjs - 选择后的 Angular typeahead 验证

angularjs - 如何拦截 AngularJS $http 日志以显示在页面中

javascript - 路由器解析不会注入(inject) Controller

javascript - AngularJS 固定页眉背景变化取决于页面

javascript - 如何使用 AngularJS ng-click/ng-repeat 取消选择未选择的项目?

angularjs - Angular 翻译(PascalPrecht)如何避免在翻译前加载文本标签

angularjs - Cookie 在 localhost 上运行良好,但在 VPS 上不起作用

javascript - AngularJs 不会呈现服务上更改的数据