I use DateTime
public DateTime Today { get { return new DateTime(startYear, startMonth, startDay).AddDays(World.getSave.CurrentDayIdx); }}
(where startYear/startMonth/start day is an arbitrary start-time for my game).
From there you can easily get things like day of week / day of month, etc.
(Today.DayOfWeek, etc)