[解決済み】2つの日付の間の日数を計算する方法
2022-03-25 01:20:28
質問
日付ピッカーコントロールから取得した2つの日付を入力しています。私は、開始日2/2/2012と終了日2/7/2012を選択しました。そのために以下のコードを書きました。
結果は6になるはずですが、5になっています。
function SetDays(invoker) {
var start = $find('<%=StartWebDatePicker.ClientID%>').get_value();
var end = $find('<%=EndWebDatePicker.ClientID%>').get_value();
var oneDay=1000 * 60 * 60 * 24;
var difference_ms = Math.abs(end.getTime() - start.getTime())
var diffValue = Math.round(difference_ms / oneDay);
}
どうすれば正確な差が出るのか、どなたか教えてください。
どのように解決するのですか?
http://momentjs.com/ または https://date-fns.org/
Moment docsより。
var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
a.diff(b, 'days') // =1
または開始を含むようにします。
a.diff(b, 'days')+1 // =2
タイムスタンプやタイムゾーンを手動でいじるよりも簡単です。
特定のユースケースに応じて、次のいずれかを行うことができます。
-
使用する
a/b.startOf('day')
またはa/b.endOf('day')
を使用して、(コメントで @kotpal が提案したように) "ends" で diff を強制的に包含または排他的にすることができます。 -
第3引数の設定
true
を使用して、浮動小数点数の差分を取得し、それをMath.floor
,Math.ceil
またはMath.round
を必要に応じて設定します。 -
オプション 2 は、次のようにしても実現できます。
'seconds'
の代わりに'days'
で割ると24*60*60
.
関連
-
[解決済み] テスト
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] JavaScriptで2つの日付を比較する
-
[解決済み] JavaScriptでカンマを桁区切りにして数値を表示する方法
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] 文字列が有効な数値であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで浮動小数点数を整数に変換するには?
-
[解決済み] JavaScriptで2つの配列の差を取得する方法は?
-
[解決済み] 2つの日付の間の日数を計算する方法は?
-
[解決済み】JavaScriptで2つの配列を結合し、項目の重複を排除する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
-
[解決済み】jquery $.ajaxオブジェクトのresponseJSONプロパティを取得する方法 [重複]。
-
[解決済み] [Solved] Uncaught TypeError: nullのプロパティ 'appendChild' を読み取ることができない。
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】 \u003C とは何ですか?
-
[解決済み】未定義のプロパティ 'forEach' を読み取ることができない
-
[解決済み】2つのデータタイム間の時差を取得する