有没有办法在没有本地时区的情况下使用 angularjs “日期”过滤器

Is there a way to use angularjs 'date' filter without the the local timezone?

本文关键字:情况下 angularjs 过滤器 日期 时区 有没有      更新时间:2023-09-26

我需要显示与服务相同的时区的日期。但是角度日期过滤器将日期转换为本地时区。有没有办法避免在本地时区进行转换。我的输入是 2014-12-11T05:21:22.323-05:00所需输出 - 12/11/2014 05:21:22 PM(未转换为本地时区)

提前谢谢。

您可以为此创建自定义过滤器,只需转换所需的日期而不带时区,例如:

myApp.filter('ignoreTimeZone', function(){
  return function(val) {
      var newDate = new Date(val.replace('T', ' ').slice(0, -6));
     return newDate;
  };
});

检查这个小提琴:http://jsfiddle.net/ghxd6nom/

您也可以为此使用库,例如 moment.js

Angular 提供服务 '$filter'。我们可以在控制器上注入此服务。

借助此服务,我们可以 格式化日期 .

var dateFrom = $filter('date')(new Date(), "MM/dd/yyyy");

这样,我们可以格式化带有或不带有时区的日期。

返回值是字符串,我们可以在后端将字符串转换为日期时间。

另一种方法是使用库时刻.js。此库提供了转换/格式化日期的更好方法。

查看此博客,它提供了角度日期/时间过滤和格式设置。

你可以

使用这个:

$filter('date')(date, format, '+0000')

文档:https://docs.angularjs.org/api/ng/filter/date