Предпочтительно в рубине, но логика будет достаточно хороша...
Мне нужен номер недели, учитывая, что неделя нестандартная. Итак, скажите, что вы определили неделю как субботу → пятницу. Затем, учитывая дату, номер недели которой (1-52)?
strftime имеет% U:
> Time.now.strftime('%U')
> => "28"
... но это, конечно, предполагает стандартное воскресенье → субботнюю неделю.