のJava APIによると、もしpublic boolean before(Date when)
Javaの日付の比較
真の場合のみ オブジェクトは厳密に早くときに代表される瞬間よりも、この日付で表される時間の瞬間。偽 です。
は今、私はユーザーによる日付入力が現在の日付より大きいかどうかを確認する必要があり、その後にのみ、入力そうでない場合はスロー例外を受け付けますので、私は
if(userInputDate.before(new Date())){
throw new Exception("Some Message");
}
の下にしようとしたが、両方の日付も同じであればそれは内部if
ステートメントに行く。それは時間を計算し、日付を比較するよりもむしろチェックすることを意味しますか?はいの場合は、問題の解決方法を教えてください。
これを確認する方法を教えてください。
:ここ
は、あなたがそれを行うことができる2つの方法があります。 (両方の値は、タイムゾーンに依存しません. – zapl
)Date.before(Date t)メソッドを使用すると、ミリ秒を含むすべての日付パラメータがチェックされます。 'new Date()'を使用して日付を作成した場合、現在の時刻(ほぼ正確にはミリ秒)を使って新しい日付を作成するので、両方の日付が等しい可能性はほとんどありません。だから、あなたの場合、私はあなたをsuggetするでしょう(@zaplが言ったように) - 代わりに 'System.currentTimeMillis()'。 – AsafSavich
'Date'クラスにはミリ秒も含まれているからです。次に、 'userInputDate'と' new Date() 'を比較すると、最初のものが2番目のものより前にある可能性が厳密にあります。 –