Разница между неделями года и неделями года в токенах ISO (moment.js)

Я изучал формат даты в moment.js и наткнулся на следующие токены: есть ли существенная разница между WoY и WoY ISO?

Неделя года

w - 1 2 ... 52 53  
wo - 1st 2nd ... 52nd 53rd  
ww - 01 02 ... 52 53

Неделя года (ISO)

W - 1 2 ... 52 53  
Wo - 1st 2nd ... 52nd 53rd  
WW - 01 02 ... 52 53

person Adrian Moisa    schedule 20.08.2015    source источник
comment
Кажется, что они различаются по тому, как они относятся к начальному дню недели. Если я использую токен ISO, то день начала считается понедельником, в противном случае по умолчанию используется настройка моей локали, то есть воскресенье.   -  person Adrian Moisa    schedule 20.08.2015


Ответы (1)


Согласно Википедии, счетчик недель ISO начинается с первого четверга года; поэтому, если первый день года - суббота, первый четверг будет на следующей неделе.

Таким образом, неделя ISO первого четверга будет первой, а стандартная неделя первого четверга будет второй, т.е.

moment('2005-01-02').isoWeek(); // 53
moment('2005-01-02').week(); // 1
moment('2005-01-03').isoWeek(); // 1
moment('2005-01-03').week(); // 2

С уважением!

person Guillermo Alejandro    schedule 24.08.2015
comment
Кроме того, недели ISO начинаются в понедельник. Стандартные недели могут начинаться в любой день недели в зависимости от обычаев. Суббота, воскресенье и понедельник обычны, скорее всего есть и другие. - person RobG; 16.04.2020