Ich erstelle in nahezu jeder größeren Applikation eine Kalenderdatei.
Für jeden Tag sind alle Infos abgelegt, die interessant sein könnten (Wochentag, Wochennummer, laufende Nummer des Tages im Jahr, etc.) plus individuelle Anforderungen, z.B. Feiertage oder Tage, an denen Teile des Unternehmens nicht für normale Anforderungen verfügbar sind, z.B. Inventuren.
Meist ist es viel einfacher, diese Datei dazuzujoinen als komplizierte Funktionen aufzurufen. Und womöglich performanter.
Für Deinen Fall bräuchtest Du nur noch einen Index auf Jahr, Woche und Wochentag und kannst mit den Keys "2014 - 18 - Montag" bzw. "2014 - 18 - Sonntag" schnell herausfinden, dass der Montag der Woche 18 im Jahr 2014 das Datum 2014-04-28 hat und mit Sonntag 2014-05-04 endet.
(Statt "Montag" verwende ich in Wirklichkeit natürlich "1" usw.)