4

angular 'date'フィルターを使用して、angular jsで期間タイマーを作成しました。なんらかの理由で、時間の部分が「0」ではなく「2」で始まります。

フィルターはこんな感じで使ってます

 {{runningDuration | date:'HH:mm:ss'}}  

http://jsfiddle.net/rpg2kill/vNdpu/

私は何を間違っていますか?

4

1 に答える 1

10

これは、日付をフォーマットしたいが、日付間の差を整数として渡すためです。Angular は、あなたが望むと仮定しますnew Date(runningDuration)

フィルターを使用して日付を utc に変換できます (これには、数値と日付だけでなく、より特殊なケースの処理が必要になる可能性があります)。デモ

JS

myApp.filter('utc', [function() {
    return function(date) {
      if(angular.isNumber(date)) {
        date = new Date(date);
      }
      return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(),  date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
    }   
  } ]);

HTML

{{runningDuration | utc | date:'HH:mm:ss'}}
于 2013-08-08T09:14:23.447 に答える