2016-12-16 4 views
0

を使用して2つの日付を比較することができ、時間ヘクタール、私は2つのメソッドを使用するtryiedはどのように私は私が何をしたいのかbecouse 2つの日時の値を比較しようとしていますmoment.js

を通過したかどうかを確認することです。 ...機能isBefore

for (var i = 0; i < vm.conferencesArray.length; i++) { 

    if (moment(vm.conferencesArray[i].fecha).format('MMMM Do YYYY') == moment().format('MMMM Do YYYY')) { 
    var a = moment('2016-03-12 ' + horaActual[4]).format('MMMM Do YYYY, h:mm:ss a'); 
    var b = moment('2016-03-12 ' + vm.conferencesArray[i].horaInicio).format('MMMM Do YYYY, h:mm:ss a'); 

    console.log(a.isBefore(b)); 
    } else { 
     console.log("the event is not today") 
     } 
} 

を使用している場合使用して、それが

for (var i = 0; i < vm.conferencesArray.length; i++) { 
    if (moment(vm.conferencesArray[i].fecha).format('MMMM Do YYYY') == moment().format('MMMM Do YYYY')) { 
     if (moment('2016-03-12 ' + horaActual[4]).format('MMMM Do YYYY, h:mm:ss a') > moment('2016-03-12 ' + vm.conferencesArray[i].horaInicio).format('MMMM Do YYYY, h:mm:ss a')) { 
     console.log("next conference"); 
     } else { 
      console.log("previous conference"); 
     } 
    } else { 
     console.log("the conference is not today"); 
    } 
} 
+1

は、IsSame()関数を使用します。 –

+0

1つの日付が現在の日付より前かどうかを確認したいだけですか? –

+0

はい、しかし時間も – Christian

答えて

0

あなたがやっているのを働いていたdidntの

moment(s).format(f) 

Thateは、与えられた出力と文字列を作成しますフォーマット。プレーンなJS文字列にはisBefore関数がないため、エラーが発生します。

あなたの入力文字列がで提供されたフォーマットを指定しようとしていた場合、それは次のとおりです。

moment(s, f) 

その後、momentオブジェクトを持つことになり、あなたはisBefore、その上に存在する他の関数を呼び出すことができます。

また、2つの値が同じ日付になっているかどうかを確認するときは、文字列の書式設定ではなくstartOf('day')を使用します。

関連する問題