2016-05-04 17 views
1

私は、各日付に予定時間の配列を持つ日付配列を持っています。私は与えられた日までのループのように、予定の時刻を取得します午前0時から午前0時までのMoment.jsの比較

var newdate = moment(appdate).format('DD/MM/YYYY'); //eg newdate is 04/04/2016 
var newtime = moment(apptime).format('h:mm a'); 

appointmentArr[newdate].forEach(function(value, key) { 
     console.log(value); //these are all the appointment times for 04/04/2016 eg 11:22:00 AM  
}); 

私の質問は、「NEWTIME」と「値」は、互いのXX分以内であれば、どのように私は、moment.jsに確認することができますか?私は使用しているAM PMの書式設定でドキュメントやその他の記事を見ていますが、それを正しく取得できません。

+1

同じ年の日付のオブジェクトに変更し、それらを減算します(秒単位で戻す必要があります)?申し訳ありませんが、Dateオブジェクトはあまりよくありません。 – Feathercrown

+0

それはちょうど11:20:00のようにデータベースから来ます、例えば、日付はありません。 –

+0

私はちょうど10:20:00 AMと11:20:00 PMの間のdiffを解決する必要があります –

答えて

1

あなたがmoment.diff使用することができますMomentJSを持つ2つの日付を比較するために、あなたはあなたがあなたの結果をしたい測定単位を指定することができます。

newDate.diff(oldDate, 'minutes'); 

あなたは、あなたのしきい値と利益とその値を比較することができます!

EDIT:formatは文字列を返しますので、しかし、あなたはない形式日付前は、それを比較する必要があります。 momentオブジェクトをそのままにしておき、表示する必要があるときはいつでもフォーマットする(または書式設定された文字列を別の変数に保存する)。

+0

時間は従来のアクセスデータベースから来ているので、私が得ることができるのは'11:00 AM ' –

+0

です。次に、 'moment'メソッド呼び出しで解析しようとしているフォーマットを指定する必要があります。たとえば' newtime = moment '11:00 AM '、' h:mm a ') '。日付は今日に設定されますが、時間を 'diff'する必要があるかどうかは重要ではありません。 [The Docs](http://momentjs.com/docs/#/parsing/string-format/) – juandemarco

+0

問題を解決できましたか? – juandemarco

関連する問題