2015-01-27 2 views
0

Я делаю одно приложение. В этом случае я должен показать время, сколько времени пользователь в приложении. Для этого я вычислил разницу между временем открытия приложения и текущим временем на каждую секунду и показ. Но если я попытаюсь изменить время устройства, этот результат также изменится. Но я хочу показать точный результат, если пользователь изменит время. Также как получить точное время, основанное на этом часовом поясе.Как получить точное время конкретной темзовой зоны

ответ

0

Вы можете установить часовой пояс по умолчанию для GMT для вашего приложения в методе initialize.

@interface AppDelegate() 

@property (nonatomic, strong) NSDate startDate; 
@end 

@implementation AppDelegate 

+ (void)initialize 
{ 
    [NSTimeZone setDefaultTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]]; 
} 

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    self.startDate = [NSDate date]; 
} 

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    NSLog(@"User has stayed for %4.2f seconds.", [[NSDate date] timeIntervalSinceDate:self.startDate]); 
} 

В дополнении к этому, не забудьте установить часовой пояс для NSDateFormatter случаев при преобразовании строкового представления даты в реальную NSDate инстанции.

+0

Дает ли правильный результат, когда приложение подходит к фону, и пользователь меняет время и возвращается? – venkat