Свяжите дату недели ISO с месяцем

1036
Armen Ablak

Есть ли какой-либо стандартный способ связать номер недели ISO с конкретным месяцем?

Допустим, у нас есть 35-я неделя в этом году (с 29.08.2011 по 04.09.2011), относится ли эта неделя к августу или сентябрю?

Я ищу стандартный или самый распространенный способ сделать это.

Зачем мне это нужно для некоторой статистики. Примерно так: сумма заработков за каждую первую неделю месяца за последние 5 месяцев.

2
Определить "принадлежать"? Принадлежит ли неделя, охватывающая и август, и сентябрь, обоим, месяцу, который начинается, месяцу, в котором он проводит больше всего времени? Phoshi 13 лет назад 1
Ну, это именно то, что я спрашиваю. Я не знаю, к чему это относится, но мне понадобится один месяц. Если вы посмотрите на неделю ISO в стандарте года, вы увидите, что может случиться так, что 2 января (как и в 2010 году) на самом деле относится к последней неделе (номер 53) в 2009 году. Таким образом, вы можете сказать, что неделя 53 принадлежит 2009 году. Теперь мне понадобится какой-то аналогичный стандарт или «обычный способ» для того, чтобы сказать, что 35-я неделя - август (или любой другой месяц). Например: стандарт XX гласит: если четверг недели 35 в августе, то неделя 35 "находится" в августе. Armen Ablak 13 лет назад 0
По вашему собственному утверждению, неделя «принадлежит» году, в котором начинается неделя. Было бы разумно, чтобы неделя также «принадлежала» тому месяцу, в котором она начинается. William Jackson 13 лет назад 0

1 ответ на вопрос

2
cgw

Первый iso_week содержит первый четверг года, поэтому последовательной практикой является определение месяца изо-недели как того, который содержит четверг (день 4) недели.

iso_date = (iso_year, iso_week, 4)

преобразовать в общую дату и извлечь месяц.

Таким образом вы убедитесь, что первая iso_week года принадлежит январю, а последняя iso_week года относится к декабрю.

Похожие вопросы