ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript を使用して、年、月、日の 2 つの日付のおおよその差を計算するにはどうすればよいですか?

JavaScript を使用して、年、月、日の 2 つの日付のおおよその差を計算するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-03 04:06:07910ブラウズ

How Can I Calculate the Approximate Difference Between Two Dates in Years, Months, and Days Using JavaScript?

JavaScript で年、月、日の日付の違いを計算する

閏年などの要素を考慮して、2 つの日付間の正確な差を決定する月の長さもさまざまで、実際には複雑な作業になる可能性があります。ただし、基本的な近似計算の場合、次の JavaScript コードで妥当な推定値を得ることができます。

today = new Date()
past = new Date(2010,05,01) // remember this is equivalent to 06 01 2010
//dates in js are counted from 0, so 05 is june

function calcDate(date1,date2) {
    var diff = Math.floor(date1.getTime() - date2.getTime());
    var day = 1000 * 60 * 60 * 24;

    var days = Math.floor(diff/day);
    var months = Math.floor(days/31);
    var years = Math.floor(months/12);
    
    var message = date2.toDateString();
    message += " was "
    message += days + " days " 
    message += months + " months "
    message += years + " years ago \n"
    
    return message
    }
        

a = calcDate(today,past)
console.log(a) // returns Tue Jun 01 2010 was 1143 days 36 months 3 years ago
2 つの Date オブジェクト (今日と過去など) を指定して calcDate 関数を呼び出すと、時差がミリ秒単位で計算され、それを 1 日のミリ秒数で割って日数を取得します。その後、日は近似値として月と年にグループ化されます。

この方法では、日、月、年に関する日付の差異の基本的な推定値が得られますが、グレゴリオ暦の複雑さをすべて考慮しているわけではありません。 。より正確な計算や特定の要件については、これらの複雑さをより正確に処理する専用のライブラリまたはモジュールの使用を検討してください。

以上がJavaScript を使用して、年、月、日の 2 つの日付のおおよその差を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。