I would create a Calendar table. This table would contain
columns such as: Date, Day, Month, Year, DayOfWeek, DayOfYear,
WeekdayFlag, WeekendFlag, WeekofYear, FiscalYear, DayOfFiscalYear,
WeekOfFiscalYear, etc.
Insert a few thousand records into this table with the
correct values according to your business rules. This table will
now hold your business logic regarding dates.
Then, you can query upon this table to find just about
anything you need regarding dates. Since you already have
information in a table, you can also join to the Calendar table and
pull all the information in one swoop.