以角度格式化日期

时间:2015-08-10 17:02:49

标签: javascript angularjs

我有一个日期对象来自我的java后端,我需要使用angular或JS格式化它(我不能使用任何插件)。

我的问题是我的java后端只接受一个字符串并稍后将其解析为日期对象。

在我目前的角度代码中,我正在使用:

JSON.parse(oldTime);

将对象转换为字符串

我目前的输出:

2015-08-12T05:00:00.000Z

我需要的输出:

2015-08-12 02:00:00

1 个答案:

答案 0 :(得分:4)

您可以在视图中输出日期值时使用日期过滤器

因此,您的HTML包含变量和过滤器

<div ng-app="app" ng-controller="MyCtrl">
    <p>{{time | date:'yyyy-MM-dd HH:mm:ss'}}</p>
</div>

并在您的javascript文件中,您可以从字符串文字中创建日期对象。这将在浏览器本地时间格式化日期。

var app = angular.module('app', []);
app.controller('MyCtrl', function ($scope, $filter) {
    var jsonvalue = '2015-08-12T05:00:00.000Z';
    $scope.time = new Date(jsonvalue);
    $scope.parsed = $filter('date')($scope.time, "yyyy-MM-dd HH:mm:ss");
});

请注意,您也可以使用控制器中的过滤器模块来解析日期。在上面的示例中,parsed变量现在将以字符串形式保存日期的正确格式。

有小提琴; http://jsfiddle.net/9pd7rbur/2/