有没有办法在没有本地时区的情况下使用angularjs'date'过滤器?

时间:2014-12-11 11:30:26

标签: javascript angularjs datetime

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

提前致谢。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

在此服务的帮助下,我们可以格式化日期。

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

通过这种方式,我们可以使用或不使用Timezone格式化日期。

返回值是字符串,我们可以将字符串转换为Backend上的DateTime。

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

检查此blog,它提供角度日期/时间过滤&格式化。

答案 2 :(得分:0)

您可以使用:

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

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