2 つの日付の間の日数を計算するにはどうすればよいですか?
P粉604848588
P粉604848588 2023-08-23 16:51:49
0
2
504
<p>たとえば、入力ボックスに 2 つの日付が指定されています。</p> <pre class="brush:php;toolbar:false;"><input id="first" value="1/1/2000"/> <input id = "秒" 値 = "1/1/2001"/> <スクリプト> alert(datediff("day", first, Second)); // ここには何が入るでしょうか? </script></pre> <p>JavaScript で 2 つの日付の間の日数を取得するにはどうすればよいですか? </p>
P粉604848588
P粉604848588

全員に返信(2)
P粉968008175

この記事の執筆時点では、DST (夏時間) 変換を正しく処理できるのは他の回答のうち 1 つだけです。カリフォルニアにあるシステムでの結果は次のとおりです:

リーリー

#Math.round は正しい結果を返しますが、少し扱いに​​くいと思います。代わりに、DST の開始時または終了時の UTC オフセットの変更を明示的に考慮することで、正確な算術演算を使用できます。 リーリー イラスト

Date

オブジェクトは内部的にローカル時間ではなく UTC 時間を保存するため、

JavaScript の日付計算は注意が必要です。たとえば、2013 年 3 月 10 日の午前 12:00 太平洋標準時 (UTC-08:00) は、2013 年 3 月 10 日午前 8:00 UTC、および 2013 年 3 月 11 日午前 12:00 太平洋夏時間 ( UTC-07 :00) は 2013 年 3 月 11 日 7:00 AM UTC として保存されます。この日、午前 0 時から午前 0 時までの現地時間は UTC よりわずか 23 時間進んでいます。 現地時間での 1 日の長さは 24 時間より前後する場合がありますが、UTC での 1 日は常に正確に 24 時間です。

1

上に示した daysBetween メソッドは、最初に treatAsUTC を呼び出して両方の現地時間を UTC 午前 0 時に調整し、次に減算して除算することでこれを利用しています。

1. JavaScript はうるう秒を無視します。

いいねを押す +0
P粉186897465

これは、質問で提起された問題を解決するための概念実証としての datediffクイック アンド ダーティ 実装です。これは、2 つの日付を減算することでそれらの間の経過ミリ秒数を取得できるという事実に基づいており、これにより元の数値 (1970 年初頭からのミリ秒数) に強制されます。

リーリー リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!