Iphone PST中所需的NSDate
我想要PST中的当前日期和时间。我用了这个密码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
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,这就是为什么你会得到这样的值。如果你深入研究,两者的时间相同,但时区不同