我想在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);
以GMT格式返回日期。我做过R& D但都是徒劳的。输出是:
String:2011-05-18 22:28:54 PDT
currentPST Date:2011-05-19 05:28:54 +0000
请有人建议解决方案。
提前致谢
答案 0 :(得分:0)
在Cocoa中,NSDate
是未应用时区信息的日期的抽象表示。
每当您打印NSDate
对象时,它将打印与默认时区(您的设备时区)对应的日期值。您的设备时区是GMT,这就是为什么您得到这样的价值。如果你深入研究,那么时间也一样,但时区会有所不同。