Re[4]: ISO week number
От: conraddk Россия  
Дата: 28.03.06 04:14
Оценка:
Здравствуйте, xWanderer, Вы писали:

W>А как насчет обратной задачи? имеется например 31.12. как узнать к какой неделе относится эта дата, к 52-й неделе этого года или к 1-й неделе следующего года? именно по календарю!!! а не по порядковому номеру недели в году.

Не понял выделенное. Кстати, почему задача обратная? Та же самая: по дате надо узнать неделю.

W>т.к. по вышеизложенным алгоритмам 31.12 и 01.01 находящиеся в одной неделе выдадут разные номера нелеь если 01.01 — это 1-я неделя.

Из определения ISO week number
Автор: Кодт
Дата: 05.07.04
так и получается. 31.12 в этом случае в последней неделе старого года, а 01.01 — в первой неделе нового года. Если нужно относить 31.12 в такой ситуации к первой неделе нового года (что об этом думает ISO? ), добавляем еще одну коррекцию. Такое может произойти в следующих случаях:
пн вт ср чт пт сб вс 
29 30 31  1  2  3  4
30 31  1  2  3  4  5
31  1  2  3  4  5  6

Условие:
if ( m==12 && d-29>=curDOW )
    isoWeek = 1;

Д.К. << RSDN@Home 1.1.4 stable rev. 510>>
Все на свете должно происходить медленно и неправильно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.