0
私は単純なカウントダウンを行うにはhttps://github.com/icambron/moment-countdownからこの単純なスクリプトを使用しました。以下のコードは私が使用しています。momentJSのカウントダウンから返された不正な日付形式
使用されるコード:
$interval(function(){
$scope.nextDate = moment().countdown($scope.nextDateGet,
countdown.DAYS|countdown.HOURS|countdown.MINUTES|countdown.SECONDS
);
$scope.daysCountdown = moment($scope.nextDate).format('dd');
$scope.hoursCountdown = moment($scope.nextDate).format('hh');
$scope.minutesCountdown = moment($scope.nextDate).format('mm');
$scope.secondsCountdown = moment($scope.nextDate).format('ss');
},1000,0);
を、これが正しい出力に
$scope.nextDate.toString();
を与えるしかし、これは、残りの日数を1つの文字列が含まれています時間、分、および秒。だから、私はこれを使って、4つの文字列にこの文字列を分割したいことを決めた:
$scope.daysCountdown = moment($scope.nextDate).format('dd');
$scope.hoursCountdown = moment($scope.nextDate).format('hh');
$scope.minutesCountdown = moment($scope.nextDate).format('mm');
$scope.secondsCountdown = moment($scope.nextDate).format('ss');
入力
2016-10-15 10:00:00 // $scope.nextDateGet
所望の出力のための例は次のようなものです:
0 // (days)
12 // (hours)
24 // (minutes)
30 // (seconds)
しかし、私はremainings日フォーマットすることができないよう、私はこの出力を得る:
Fr // Shortcode for the day the item is scheduled => I need the remaining days in this case that would be 0. The other formatting is correct.
'$ scope.daysCountdown = moment($ scope.nextDate).format( 'D');'が有効であるようです。残りの日数が「0」の場合のみ動作します。残りの日数は「14」に設定されます。 –
'$ scope.nextDate.toString()'が正しい出力を持っていて、それを4に分割したいだけなら、 '$ scope.nextDate.toString()。split( '、')'を4つの文字列の配列を取得しますか?デモサイトの出力で判断して、 'countdown()'の出力で 'moment()'を呼びたいとは思っていません。 –
@Mike McCaughan Trueのような自動書式のテキスト... Days ... Hours ... Minuts ...文字列から秒を削除する必要があります。 –