AngularJS中的格式日期无效

时间:2018-03-05 09:54:50

标签: javascript html angularjs

在我的项目中,数据作为json对象进入前端,如下所示:

{
  id: 1,
  meetingName: "Meeting 1",
  meetingDate: "2018-02-21",
  startTime: "10:00:00"
}

<td>{{meeting.startTime|date:"h:mma"}}</td>

我使用上面的方法将angularjs代码中的日期格式化为10:00 AM。 但是开始时间仍显示为10:00:00。为什么不按格式格式化日期?

2 个答案:

答案 0 :(得分:2)

date过滤器需要日期对象作为输入。但是你传递的是一个字符串。下面是一个示例代码,用于显示预期的日期。

&#13;
&#13;
var app = angular.module('myApp', []);
app.controller('datCtrl', function($scope) {
  let info = {
    id: 1,
    meetingName: "Meeting 1",
    meetingDate: "2018-02-21",
    startTime: "10:00:00"
  }
  $scope.meetingDate= new Date(info.meetingDate + " " + info.startTime);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

<body>

  <div ng-app="myApp" ng-controller="datCtrl">

    <p>Meeting Time= {{ meetingDate | date:"h:mma" }}</p>

  </div>

</body>
&#13;
&#13;
&#13;

Date Filter Docs

希望这会有所帮助:)

答案 1 :(得分:0)

过滤器var tfs = TeamFoundationServerFactory.GetServer("http://vstspioneer:8080/tfs/VSTSDF"); var workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore)); var allowedValues = workItemStore.FieldDefinitions[xxx.xxx].AllowedValues; foreach (String value in allowedValues) { Console.WriteLine(value); } 需要date类型的对象。此自定义过滤器可以帮助您:

视图

date

AngularJS应用程序

<div ng-controller="MyCtrl">
  {{data.startTime|timeFilter: data.meetingDate: 'h:mma'}}
  {{data.startTime|timeFilter: data.meetingDate: 'yyyy-MM-dd HH:mm:ss Z'}}
</div>

<强>&GT; Demo fiddle