【问题标题】:Angularjs Date format in GET ResponseGET Response中的Angularjs日期格式
【发布时间】:2018-03-05 06:56:43
【问题描述】:

我想显示这样的日期格式 02-jan-2018

GET方法

$scope.allReport = function() {
       $http({
            method: 'GET',
            url: 'api/admin/report'
        }).success( function (data) {
                $scope.data = data.data;
               console.log($scope.data);
          }).error(function (response){
                console.log("error");  
       });
    }

回应

0:{
created_at:"2018-03-02 00:00:00"
cuid:21
id:64
name:"my"
status:"D"
time:"07:01 PM"
updated_at:"2018-03-02 00:00:00"
}

1:{
created_at:"2018-03-02 00:00:00"
cuid:22
id:65
name:"my1"
status:"P"
time:"06:59 PM"
updated_at:"2018-03-02 00:00:00"
}

我是这样显示的 查看

<tr ng-repeat="user in data | filter:{name:searchbyname}">
    <td>{{$index+1}}</td>
    <td>{{user.name}}</td>
    <td>{{user.created_at | date : "dd-MMM-yyyy" }}</td>
    <td>{{user.status}}</td>
</tr>

我想在 2018 年 1 月 2 日

中像 created_at 一样显示

【问题讨论】:

  • 这有什么问题?
  • 仅显示相同格式
  • 检查我的答案可能会有所帮助。

标签: angularjs


【解决方案1】:

试试这个,你会得到字符串格式的日期。

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl">
<table>
<tr ng-repeat="user in data | filter:{name:searchbyname}">
    <td>{{$index+1}}</td>
    <td>{{user.name}}</td>
    <td>{{user.created_at | date : "dd-MMM-yyyy" }}</td>
    <td>{{user.status}}</td>
</tr>
</table>
</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.data= [{
    created_at: "2018-03-02 00:00:00",
    cuid: 21,
    id: 64,
    name: "my",
    status: "D",
    time: "07:01 PM",
    updated_at: "2018-03-02 00:00:00",
    }, {
        created_at: "2018-03-02 00:00:00",
        cuid: 22,
        id: 65,
        name: "my1",
        status: "P",
        time: "06:59 PM",
        updated_at: "2018-03-02 00:00:00"
    }];
    
    $scope.data = $scope.data.map(obj =>{
    	obj.created_at  = new Date(obj.created_at); // converting string to date
    	return obj;
    })
});
</script>

</body>
</html>

【讨论】:

  • 您收到回复了吗? $scope.data = data.data;这一步之后,你是不是在外面试试?
  • 如何进入 POST API
  • 使用 $http.post 调用 post api。
  • 这里我要申请 $scope.data = response.data.data; $scope.name = $scope.data.name; $scope.created_at = $scope.data.created_at;更改日期格式
  • 你不能这样做 $scope.data.name 因为 $scope.data 不是一个对象是一个数组。您不需要将格式化的日期存储在数据库中,因为它可能会在执行排序或搜索操作时产生问题。
【解决方案2】:

朋友的建议请使用 moment 你会遇到很多角度的日期管道问题,而且 moment 更灵活;)

Angular2 date pipe does not work in IE 11 and edge 13/14

date pipe issue on IE10 - 'Intl' is undefined

https://www.npmjs.com/package/moment

{{now | momentPipe:'DD-MMM-YYYY'}}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    相关资源
    最近更新 更多