angular-moment ライブラリを使用しています。どういうわけか を使用すると、25日を超えるものはすべて月として扱われamTimeAgo
ます。
この例では、モーメント JS を使用して、現在の時刻から 25 日、26 日、27 日をさかのぼります。次に、 を使用して、amTimeAgo
今からの期間を計算します。
angular.module('timeApp', ['angularMoment'])
.controller('mainController', [ '$scope', function($scope) {
$scope.today = new Date();
$scope.parsedToday = moment($scope.today).format('MM/DD/YYYY hh:mm A');
$scope.days25FromNow = moment($scope.today).subtract({days: 25}).format('MM/DD/YYYY hh:mm A');
$scope.days26FromNow = moment($scope.today).subtract({days: 26}).format('MM/DD/YYYY hh:mm A');
$scope.days27FromNow = moment($scope.today).subtract({days: 27}).format('MM/DD/YYYY hh:mm A');
}]);
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.16.0/moment.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-moment/1.0.0/angular-moment.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<div class="container" ng-app="timeApp" ng-controller="mainController as main">
<div>
<h2>AmTimeAgo Error in Over 25 days</h2>
<h3>The Time is {{ parsedToday}}</h3>
<p>25 Days From Now - {{days25FromNow}} <br>
Original AM Time Ago - {{days25FromNow | amTimeAgo}} <br>
Expect - 25 days ago
</p>
<p>26 Days From Now - {{days26FromNow}} <br>
Original AM Time Ago - {{days26FromNow | amTimeAgo}}<br>
Expect - 26 days ago
</p>
<p>27 Days From Now - {{days27FromNow}} <br>
Original AM Time Ago - {{days27FromNow | amTimeAgo}}<br>
Expect - 27 days ago
</p>
</div>
</div>
</body>
</html>
Plnkr での同じ例 - http://plnkr.co/edit/DZqqI5BC2XNrITThLCS7?p=preview
1 か月あたり 30 日と計算されるように設定できる構成はありますか? それともこのバグですか?私は彼らのドキュメントとソースを調べていますが、これを 30 日に変更する場所が見つからないようです。
ありがとう!