Iphone PST中所需的NSDate

Iphone PST中所需的NSDate,iphone,nsdateformatter,Iphone,Nsdateformatter,我想要PST中的当前日期和时间。我用了这个密码 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"]; [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"PST"]]; NSString *timeStamp = [dateFormatter

我想要PST中的当前日期和时间。我用了这个密码

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"PST"]];

NSString *timeStamp = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"String:%@",timeStamp);
它以字符串形式返回PST中的正确日期和时间,但我希望PST中的NSDate。因此,当我将NSString更改为NSDate时,如下所示:

NSDate *currentPST = [dateFormatter dateFromString:timeStamp];
NSLog(@"currentPST Date:%@",currentPST);
它以格林尼治标准时间返回日期。我已经做了研发,但都是徒劳的。输出为:

String:2011-05-18 22:28:54 PDT
currentPST Date:2011-05-19 05:28:54 +0000
有人能提出解决办法吗


提前感谢Cocoa中的

NSDate
是日期的抽象表示,没有应用时区信息

无论何时打印
NSDate
对象,它都会打印与默认时区(您的设备时区)对应的日期值。你的设备时区是GMT,这就是为什么你会得到这样的值。如果你深入研究,两者的时间相同,但时区不同