ユーザーからの日付を検証し、特定の形式であるかどうかを確認する必要があります。はいの場合、それは受け入れられ、そうでない場合は受け入れられません。探している
value.match("regular expression")
いくつかの形式から選択する必要がある場合、上記は正常に機能します。そのため、このmoment.jsに出会い、isSame()の使用方法を知りたいと思いました。私はそれを実装しようとしましたが、失敗しました。好む :
var x=moment("MM/DD/YYYY") ;
x.isSame("28-02-1999"); // am getting false which is right
var x=moment("28-02-1999","DD-MM-YYYY") ;
x.isSame("28-02-1999"); // am getting false which is wrong
だから、その中で助けてください。ありがとう
ある瞬間が別の瞬間と同じかどうかを確認します。
moment('2010-10-20').isSame('2010-10-20'); // true
粒度をミリ秒以外の単位に制限する場合は、2番目のパラメーターとして単位を渡します。
moment('2010-10-20').isSame('2009-12-31', 'year'); // false
moment('2010-10-20').isSame('2010-01-01', 'year'); // true
moment('2010-10-20').isSame('2010-12-31', 'year'); // true
moment('2010-10-20').isSame('2011-01-01', 'year'); // false
あなたのコード
var x=moment("28-02-1999","DD-MM-YYYY"); // working
x.isSame("28-02-1999"); // comparing x to an unrecognizable string
moment("28-02-1999")
を試すと、無効な日付が取得されます。したがって、xを無効な日付文字列と比較するとfalseが返されます。
修正するには、 デフォルトの日付形式 (ISO 8601)を使用します。
var x = moment("28-02-1999","DD-MM-YYYY");
x.isSame("1999-02-28"); // YYYY-MM-DD
または、isSame
モーメントオブジェクトを渡します。
var x = moment("28-02-1999","DD-MM-YYYY");
x.isSame( moment("28-02-1999","DD-MM-YYYY") );