Я пытаюсь таким образом создать объект NSDate.
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
// [gregorian setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDateComponents *weekdayComponents = [gregorian components:(NSDayCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSMinuteCalendarUnit)fromDate:[NSDate date]];
NSInteger day = [weekdayComponents day];
NSInteger month = [weekdayComponents month];
NSInteger year = [weekdayComponents year];
NSDateComponents *timeZoneComps=[[NSDateComponents alloc] init];
[timeZoneComps setDay:day];
[timeZoneComps setMonth:month];
[timeZoneComps setYear:year];
[timeZoneComps setHour:00];
[timeZoneComps setMinute:00];
[timeZoneComps setSecond:01];
m_currentDate = [gregorian dateFromComponents:timeZoneComps];
Когда я регистрирую currentDate, я получаю это
"2014-07-07 06:00:01 +0000"
Если я сохраню это в plist, я получу это
07-Jul-2014 11:30:01 am
Если я использую «UTC» в качестве часового пояса
я понимаю как
"2014-07-07 00:00:01 +0000"
и внутри plist он отображается как
07-Jul-2014 5:30:01 am
Я не понимаю, что происходит, может ли кто-нибудь помочь мне с этим
Я хочу знать, если я не установлю часовой пояс, какой часовой пояс будет использоваться?
Нам нужно явно установить UTC как timeZone или нам нужно использовать systemTimeZone.