Показать сообщение отдельно
Старый 22.10.2014, 07:56   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,441 / 1777 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от mazzy Посмотреть сообщение
и уж точно не стоит использовать магию в стиле "7 + ... - 7"
Ага. Я пытался понять логику автора, но до конца у меня это не получилось. Видимо предполагалось вычислять то длинное выражение в несколько этапов:
(7 - firstDayofWeek + 1) это явно длина первой недели. Но дальше уже не все так прозрачно

Цитата:
Сообщение от mazzy Посмотреть сообщение
return dateStartWeek(firstJanuary + (_week * 7));
Нужно использовать week-1, если хотим нумеровать недели с единицы, а не с нуля.

И ещё я бы вынес год в параметры функции (можно по умолчанию сделать равным текущему).
За это сообщение автора поблагодарили: clerk (1).