Hi Mark,
Personally, I prefer to create a new table with the date custom attributes defined exclusively. We have a custom calendar (integrating factory calendar) with custom definitions for the Week / Month / Quarter. Due to customization, we have different start and end dates for Weeks / Months as compared to the calendar week / month.
All such customization is stored in the custom table, which is created from the data from M_TIME_DIMENSION table. Eventually M_TIME_DIMENSION will be unloaded from the memory and will not be used in the application.
Regards,
Ravi