angular momentjs 日期问题

angular momentjs date issues

我在尝试使用 angular 中的 moment.js 生成日期时遇到了麻烦。我只想创建随机日期,但我不知道如何创建。

我看过了 http://momentjs.com/ 但是我不知道如何将 js 转换成 angular 格式。

这是link

http://jsfiddle.net/galnova/Pe2Zc/150/

如果您看下面,您可以在此处看到一个片段。

这是片段

var app = angular.module("app", []);

app.constant("moment", moment);

app.controller("ctrl", function($scope, moment) {
    $scope.d = new Date();
    $scope.date = new moment();
    $scope.date2 = moment().add('days', 7); 
});

这是html

<div ng-app="app" ng-controller="ctrl">

    {{ date }} <br/> <br/>

    {{ date2 }} <br/> <br/>

    {{d | date: 'MMM-dd-yyyy'}} <br/> <br/>

    {{d | date: 'MMM-dd-yyyy'}}

</div>

尝试使用.toDate()

$scope.date = new moment().toDate()

我更新了 fiddle

http://jsfiddle.net/Pe2Zc/152/

$scope.getRandomDate = function(){
    var year = Math.round(Math.random() * 6) + 2015;
    var month = Math.round(Math.random() * 13) ;
    var day = Math.round(Math.random() * 32);
    return moment([year, month, day]);
}

您已经在使用 moment。您可以将 angular-moment 用于日期过滤器等。 https://github.com/urish/angular-moment

它现在正在运行,检查这个

https://jsbin.com/wohucud/edit?html,js,output

app.controller("ctrl", function($scope, moment) {
    $scope.getRandomDate = function(){
        var year = Math.floor(Math.random() * 2) + 2015;
        var month = Math.floor(Math.random() * 12) ;
        var day = Math.floor(Math.random() * 31);
        return moment([year, month, day]).toDate();
   };
   $scope.date = $scope.getRandomDate(); 

});

也感谢@Leandro