|
![]() |
#1 |
Участник
|
чет сложно как-то.
в global есть функции dateStartWeek, dateEndWeek. лучше уж что-нибудь вроде TransDate firstJanuary = mkDate(1, 1, year(systemDateGet())); return dateStartWeek(firstJanuary + (_week * 7)); наверняка, можно сделать код еще короче и понятнее. и уж точно не стоит использовать магию в стиле "7 + ... - 7" ![]() Последний раз редактировалось mazzy; 22.10.2014 в 07:07. |
|
|
За это сообщение автора поблагодарили: clerk (1). |
![]() |
#2 |
Участник
|
Ага. Я пытался понять логику автора, но до конца у меня это не получилось. Видимо предполагалось вычислять то длинное выражение в несколько этапов:
(7 - firstDayofWeek + 1) это явно длина первой недели. Но дальше уже не все так прозрачно ![]() Нужно использовать week-1, если хотим нумеровать недели с единицы, а не с нуля. И ещё я бы вынес год в параметры функции (можно по умолчанию сделать равным текущему). |
|
|
За это сообщение автора поблагодарили: clerk (1). |