如何获取特定时区的确切时间
How to get the exact time of specific timzone
我正在做一个 application.In 我必须显示用户在 application.For 中的时间,我计算了每个应用程序打开时间和当前时间之间的差异第二和 showing.But 如果我尝试更改设备时间,结果也会 changing.But 如果用户更改时间我想显示确切的结果 also.So 如何根据那个时区。
您可以在 initialize
方法中为您的应用程序将默认时区设置为 GMT。
@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]);
}
除此之外,在将日期的字符串表示形式转换为实际 NSDate
实例时,不要忘记为 NSDateFormatter
实例设置时区。
我正在做一个 application.In 我必须显示用户在 application.For 中的时间,我计算了每个应用程序打开时间和当前时间之间的差异第二和 showing.But 如果我尝试更改设备时间,结果也会 changing.But 如果用户更改时间我想显示确切的结果 also.So 如何根据那个时区。
您可以在 initialize
方法中为您的应用程序将默认时区设置为 GMT。
@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]);
}
除此之外,在将日期的字符串表示形式转换为实际 NSDate
实例时,不要忘记为 NSDateFormatter
实例设置时区。