問題タブ [datetime-comparison]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
207 参照

java - 日付の比較に関して明らかな何かが欠けている (Android Date)

特定の日付が特定の下限と上限内にあるかどうかを確認することになっているメソッドをまとめました。

時間は考慮せず、日付のみを考慮してください。非常に単純な作業のように見えましたが、デバッグ中に奇妙な動作が発生しました。

入力日付から時間値を削除するために、さまざまなアプローチを試しました。( .) しかし、それらはすべて、日付を前に置いて関数の結果を偽にするinDateという同じ予期しない動作を私に与えるようです。inLeftinLeft

スクリーンショットのデバッグ

スクリーンショットからわかるように、inLeftinLeftは等しい (時間を無視した場合) のに、なぜint leftLimit = DateTimeComparator.getDateOnlyInstance().compare(inLeft, inDate);0 ではなく 1 になるのでしょうか?

私の結論は、私は何か間違ったことをしているが、何が見つからないということです。これがまったく明白なことである場合は、ご容赦ください。

ここに私のコードがあります:

問題は、0 ではなく leftLimit == 1 であり、inDate と時間のない inLeft が同じであることです。しかし、leftLimit の結果は 1 のままです。

編集(最終的な解決策):sumandas'とRobertsの解決策によると、期待される動作を実現する新しいメソッドを作成しました。

新しいコード:

なぜ私の最初の解決策がうまくいかないのか、私はまだ理解していません。

0 投票する
2 に答える
1160 参照

javascript - jQuery を使用して時間範囲を検証する

私は2つのテキストフィールド(開始時間と終了時間)を持つページを持っています.HTML5の時間要素を使用しています.開始時間が常に終了時間よりも短いことを検証したい.現在、以下のスクリプトを使用して検証しています.

これは、両方のタイミングが AM または PM の場合に機能しますが、開始時刻が PM で終了時刻が AM で、11.45 PM から 12.15 AM のようなケースが 1 つあります。ここでは検証が失敗します。

この状況に対処する方法を誰か提案できますか?