В моем приложении для iPhone мне как-то нужно значение времени и оно выглядит так:
//Get the full time here
NSDate *now = [NSDate date];
//Seperate as time and date
NSArray *arr = [[[NSString alloc] initWithFormat:@"%@",now] componentsSeparatedByString:@" "];
//Get the time value
NSString *timeOnly = [arr objectAtIndex:1];
//Seperate it like hour, minute and second values
NSArray *timeOnlyArray = [timeOnly componentsSeparatedByString:@":"];
NSInteger hour = [[timeOnlyArray objectAtIndex:0] intValue];
NSInteger minute = [[timeOnlyArray objectAtIndex:1] intValue];
Все работает нормально, за исключением одного: несмотря на то, что время моего компьютера и моего симулятора установлено на мое местное время (GMT +2), значения, которые я получаю при отладке на симуляторе, - это время по Гринвичу (на 2 часа раньше моего локального).
Хорошо, я могу просто добавить 2 к моему значению часа, но я не знаю, будет ли оно таким же на устройстве. Если я опубликую его таким образом, он будет работать так же на устройстве? Или я должен добавить 2 часа, потому что приложение будет смотреть на время по Гринвичу в реальном устройстве?