> 웹 프론트엔드 > JS 튜토리얼 > JavaScript로 ISO-8601 주 번호를 얻는 방법은 무엇입니까?

JavaScript로 ISO-8601 주 번호를 얻는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-06 08:20:13
원래의
914명이 탐색했습니다.

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

JavaScript에서 ISO-8601 주 번호를 얻는 방법

PHP와 유사한 ISO-8601 연도의 주 번호를 확인하려면 date('W')인 경우 다음 접근 방식을 고려하세요.

다음 리소스를 참조하세요. Merlyn 웹사이트:

  • [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의 날짜('W')에서 제공하는 기능과 유사하게 월요일부터 시작하는 주를 설명하는 현재 ISO-8601 연도의 주 번호를 가져옵니다.

위 내용은 JavaScript로 ISO-8601 주 번호를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿