Я делаю одно приложение. В этом случае я должен показать время, сколько времени пользователь в приложении. Для этого я вычислил разницу между временем открытия приложения и текущим временем на каждую секунду и показ. Но если я попытаюсь изменить время устройства, этот результат также изменится. Но я хочу показать точный результат, если пользователь изменит время. Также как получить точное время, основанное на этом часовом поясе.Как получить точное время конкретной темзовой зоны
0
A
ответ
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
инстанции.
Дает ли правильный результат, когда приложение подходит к фону, и пользователь меняет время и возвращается? – venkat