javascript - 自定义过滤器,用于替换从 Sharepoint 返回的 json 日期中的某些字符串字符

标签 javascript json angularjs date sharepoint

我正在处理从 Angularjs get 请求返回的 json 数据。此数据来自 Sharepoint 列表。

日期是一个 json 日期字符串,如下所示 /Date(350697600000)/

所以我正在使用 Angularjs,我需要以“正常”方式或我想要的方式显示此日期。 json 数据是一个对象数组,因此我在无序列表中使用 ng-repeat 显示数据。我正在尝试制作一个自定义过滤器,它将用空字符串替换/Date( 和 )/,也就是说我只想要数字。当这个对象数组中的每个 json 日期显示在我的页面上时,我需要对其进行转换。

这是我迄今为止在自定义过滤器中的内容:

app.filter('dateFilter', function() {
   return function(obj) {
      return obj.replace(/\/([^a-zA-Z])\/ /gi, "");
   }    
});

我的 html 代码如下所示:

<li class="adv_li adv_li_birthday" ng-repeat="b in birthdays">
   <div id="adv_birthday" ng-bind="b.Birthday | dateFilter | date:'d. MMMM yyyy'"></div>
   <div ng-bind="b.Employee.Name"></div>
</li>

每个人都可以猜到我的过滤器不起作用。我真的不知道如何使用 .replace() ,或者即使使用自定义过滤器来解决这个问题是最好的主意。我需要一些帮助。希望我的问题不要含糊。

提前谢谢大家!

最佳答案

我有两种理论,我会同时解决它们。

首先,我认为您的过滤器应该返回一个日期,另外,我认为正则表达式可以改进。

app.filter('dateFilter', function() {
   return function(obj) {
      return new Date(parseInt(obj.replace(/\D/g, '')));
   }    
});

我正在使用该特定的 return 语句从相同格式获取日期,尽管它不在 Angular 项目中。

关于javascript - 自定义过滤器,用于替换从 Sharepoint 返回的 json 日期中的某些字符串字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28455482/

相关文章:

java - 使用 Gson 到 Json 的单个键值

angularjs - 如何使用 AngularJS 模板进行 A/B 测试?

angularjs - 为什么我的函数不发送 POST

javascript - jQuery Find 在 HTML 模板中找不到元素

javascript - 在 jQuery 中使用参数调用 JSF 托管 bean 方法

ios - JSON key :value pairs disappearing after original json call

javascript - 访问返回的 JSON 元素

arrays - AngularJS将数组添加到cookie存储

javascript - amcharts 4中的24小时雷达图

javascript - 如何使这个滚动条使用JavaScript工作