Remove redundant time setting from dateFloor
Remove redundant extra calendar components call in startOfWeek and endOfWeek
Change previousWeek/nextWeek to simply use dateByAddingTimeInterval