ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で ISO-8601 の週番号を取得するにはどうすればよいですか?

JavaScript で ISO-8601 の週番号を取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-06 08:20:13
オリジナル
890 人が閲覧しました

How to Get the ISO-8601 Week Number in JavaScript?

JavaScript で ISO-8601 の週番号を取得する方法

PHP の場合と同様に、その年の ISO-8601 の週番号を決定するにはdate('W') については、次のアプローチを検討してください。

次のリソースを参照してください。 Merlyn の Web サイト:

  • [Working with Weeks](https://www.merlyn.org/js-date6.htm#YWD)

この JavaScript コードは次の概念を示しています:

/*
 * Calculates the ISO week number for a given date.
 *
 * Algorithm adopted from:
 * https://www.merlyn.org/weekcalc.htm#WNR
 *
 * Input:
 *   d: Date object representing the date to calculate the week number for.
 *
 * Output:
 *   Array containing the year and week number.
 */
function getWeekNumber(d) {
    // Clone the date to avoid modifying the original.
    d = new Date(d.getTime());

    // Set the date to the nearest Thursday by adding 4 days and subtracting the day of the week.
    d.setDate(d.getDate() + 4 - (d.getDay() || 7));

    // Determine the first day of the year.
    const yearStart = new Date(d.getFullYear(), 0, 1);

    // Calculate the number of full weeks between the current date and the first day of the year.
    const weekNo = Math.ceil(((d - yearStart) / 86400000 + 1) / 7);

    // Return the year and week number in an array.
    return [d.getFullYear(), weekNo];
}

// Example:
const result = getWeekNumber(new Date());
console.log(`Current week: ${result[1]} of year ${result[0]}`);
ログイン後にコピー

これを使用するコードを使用すると、PHP の date('W') によって提供される機能と同様に、月曜日から始まる週を表す現在の ISO-8601 週番号を取得できます。

以上がJavaScript で ISO-8601 の週番号を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート