We've moved to CFCalendar methods awhile back after a lot of the CF date/time functions were deprecated - all except one: CFAbsoluteTimeGetWeekOfYear.
The reason is that CFAbsoluteTimeGetWeekOfYear works and so far, CFCalendarGetOrdinalityOfUnit doesn't.
CFCalendarGetOrdinalityOfUnit(calendar, kCFCalendarUnitWeekOfYear, kCFCalendarUnitYear, time)This is what we're doing and it gives the wrong info. The ISO standard mandates the week number be based off Monday being the first day of the week and so January 1st 2017 should be week 53, but the above gives us 1. There are many examples I can come up with here.
My guess is that perhaps there is a different method we should be using for the correct number, but its just not plain and obvious.