the following code
NSCalendar *cal = [NSCalendar currentCalendar];
[cal setFirstWeekday:2];
[cal setMinimumDaysInFirstWeek:4];
NSDateComponents *comp = [[NSDate
When you call dateFromComponents:
you lose all of the timezone and calendar information and are left an NSDate object that contains the moment in time your date components represent, but nothing else. When you use NSLog
on your NSDate object, that moment in time is converted to a time in UTC and rendered as a human readable string.
You need to provide more info about what you're trying to achieve to be able to answer your second question of how to avoid this.