首頁 > web前端 > 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 週數

決定一年中的ISO-8601 週數,類似PHP 的date ('W'),請考慮以下方法:

請參考以下資源: Merlyn的網站:

  • [與週一起工作](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]}`);
登入後複製

使用此程式碼,您可以取得目前ISO-8601 一年中的周數,即從星期一開始的周數,類似於 PHP 的 date('W') 提供的功能。

以上是如何在 JavaScript 中取得 ISO-8601 週數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板