Во-первых, вы должны заметить, что в среднем 4 1/3 недели в месяц. Таким образом, если вы используете только 1-4 недели, вы не сможете представлять все даты.
Кроме того, если вы поделите на 7 и округлите, вы получите номер недели от 1 до 5.
WeekNumber = Ceiling(DayofMonth / 7)
день 7 относится к неделе 1 или неделе 2? я думаю, что правильная формула использует * потолок () * (или * верхний () *, то же самое), а не * пол () + 1 *. В качестве другого примера, обратите внимание, что 28 февраля на 5 неделе согласно этой формуле.
quack quixote 14 лет назад
0
Зависит от того, был ли это длинный день в Австралии или нет :). Вы действительно правы. Обновлен соответственно.
Dan McGrath 14 лет назад
0
1
Sergiy Belozorov
Просто посмотрите на день месяца. Номер недели, upper(day_number / 7),т. Е. Вам нужно разделить номер дня на 7 и округлить его до следующего целого числа. Помните, что может быть и 5-я неделя. Например, 31 марта принадлежит неделя № 5.
Технически каждая календарная программа поддерживает представление под названием «Месяц». Fe Sunbird покажет календарь в этом виде в виде пяти-шести рядов, каждый из которых представляет неделю:
Тем не менее, я не знаю, что ваш проект считает неделю в течение месяца.
0
asdfg
Это то, что вы ищете, если месяц начинается с последнего дня недели, то второй день месяца принадлежит второй неделе месяца ... Тогда попробуйте это,