-1
嗨我想显示GMT时间到我的设备时间。 我的设备时区是EDT。NSDate显示错误的日期与NSTimezone
我得到了GMT时间作为字符串
// GMT Time-----2014-11-27 19:32:00
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"HH:mm:ss";
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
NSDate *startDate = [dateFormatter dateFromString:@"2014-11-27 19:32:00"];
我得到这个开始日期 -
//startDate---2014-11-27 19:32:00 +0000
现在我想将其转换成我的本地时间
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
dateFormatter2.dateFormat = @"hh:mm a";
NSTimeZone *local = [NSTimeZone localTimeZone];
[dateFormatter2 setTimeZone:[NSTimeZone localTimeZone]];
NSString *startDateStr = [dateFormatter2 stringFromDate:startDate];
根据我的时区(EDT),结果必须是 - 3:32 PM 但是我错误的时间是
//startDateStr---02:32 PM
我有我的打印与GMT
NSLog(@"TimeZone %d",[[NSTimeZone localTimeZone] secondsFromGMT]);
// TimeZone -14400 - this correct and as per this the startDate must be 03:32 PM
时区的区别在哪里,我做了错误? 请帮我
请参阅我更新的问题。我已经改变了开始日期,但仍然错误的时间。 – 2014-10-02 12:08:32