【发布时间】:2014-02-12 19:01:57
【问题描述】:
当我从 Xcode iPhone 模拟器转换时间时,我的代码工作正常,输出如下所示:
2014-02-12 18:11:52 +0000
本地时区(欧洲/伦敦 (GMT) 偏移量 0)
0
但是当我尝试在我的 iPhone 5 上使用我的应用程序时,输出更改为
1970-01-01 12:00:00 am +0000
本地时区(欧洲/伦敦 (GMT) 偏移量 0)
0
我正在使用 xcode 5.0 和 iOS 7
-(NSDate *)convertGMTtoLocal:(NSString *)gmtDateStr {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSTimeZone *gmt = [NSTimeZone systemTimeZone];
[formatter setTimeZone:gmt];
NSDate *GMTTime = [formatter dateFromString:gmtDateStr];
NSTimeZone *tz = [NSTimeZone localTimeZone];
NSLog(@"%@",tz);
NSInteger seconds = [tz secondsFromGMTForDate: GMTTime];
NSLog(@"%ld",(long)seconds);
NSLog(@"%@",[NSDate dateWithTimeInterval: seconds sinceDate: GMTTime]);
return [NSDate dateWithTimeInterval: seconds sinceDate: GMTTime];
}
谢谢,
【问题讨论】:
标签: ios objective-c swift date nstimezone