2つのタイムスタンプの差を分単位で取得しようとしています
初めはこのようなタイムスタンプがあります
'15:44:06'
経過時間を確認したい場合は、新しい瞬間のタイムスタンプを作成します
var currentTimestamp = Moment(new Date()).format('HH:mm:ss');
これを返す
'15:42:09'
それから私はそのように違いを取得しようとします
var duration = Moment.duration(Moment(currentTimestamp,'HH:mm:ss').diff(Moment(userTimestamp,'HH:mm:ss')));
そして数分でそれを取得しよう
var elapsedTime = duration().asMinutes();
console.log(elapsedTime);
しかし、コンソールにログインすると、このエラーが発生します
var elapsedTime = duration().asMinutes();
^
TypeError: object is not a function
私はこのコードのほとんどを this stackoverflow から取得しました
モーメントコンストラクタを適切に使用することで、差分を取得できます。
まず、タイムスタンプを初期化するときは、次の形式を使用する必要があります。
var timestamp = moment('15:44:06','HH:mm:ss');
次に、現在時刻でdiff関数を使用する場合は、次のように使用する必要があります。
timestamp.diff(moment());
次に、指定された数値を.asMinutes()で分に変換できます(最初の)
詳細については、公式ドキュメント here を参照してください。
また、最新のmoment.jsでこれを試すこともできます
var start = moment('15:44:06','HH:mm:ss');
var minutesPassed = moment().diff(start, 'minutes');