currentCalendar returns the cached version of the current system calendar, and autoupdatingCurrentCalendar always returns the latest version of the system calendar.
This is important when you present data based on various calendar options, such as the number of days in a month, the number of weeks in a year, or the number of hours per day.
Honestly, I donβt know why Apple gives you the option to get an obsolete value using currentCalendar . It looks like they have an internal API that allows you to manipulate NSCalendar caches, so you can achieve better performance. But since it is not publicly available, there is no reason to use currentCalendar .
That is, always use autoupdatingCurrentCalendar .
Kentzo
source share