Iphone xcode 4.2位置模拟器和时区

Iphone xcode 4.2位置模拟器和时区,iphone,xcode,nsdate,nsdateformatter,Iphone,Xcode,Nsdate,Nsdateformatter,我在运行xcode模拟器时注意到一个漂亮的设置,我可以更改当前位置,从而模拟基于位置的测试 但是,当我尝试使用NSDateFormatter获取日期时,本地日期仍然在PST中。我在太平洋时区 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; // Jan 1, 2010 [dateFormatter s

我在运行xcode模拟器时注意到一个漂亮的设置,我可以更改当前位置,从而模拟基于位置的测试

但是,当我尝试使用NSDateFormatter获取日期时,本地日期仍然在PST中。我在太平洋时区

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle]; // Jan 1, 2010
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];  // 1:43 PM

NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[dateFormatter setLocale:usLocale];
[usLocale release];

NSDate *testDate = [NSDate date];
NSLog(@"Local date: %@", [dateFormatter stringFromDate:testDate]);
根据文档,stringFromDate应使用接收器当前设置,该设置应使用日本东京的时区


这是预期的吗?

检查
NSDateFormatter
-timezone
-属性-我认为这是由设备本身(或本例中的计算机)控制的,而不是位置。“设置”应用程序中有一个设置,允许您按位置设置时间,我不确定这是否会改变什么,但请尝试激活它

还有一个一般提示:也要在设备上进行测试——我认为“模拟位置”设置也适用于手机


编辑:刚刚看到一个可能相关的答案,请尝试调用
[NSTimeZone resetTimeZone]设置新位置后。这将触发重置,并有望显示正确的时区。参考:

1。我试过这个装置。“模拟位置”选项在此处不可用。所以我试着用模拟器;2.我知道dateFormatter上的时区设置。我的问题仅仅是模拟地点也应该模拟时间。我不确定这是设计的方式(即不模拟时区部分)还是我做错了什么。请参见编辑后的答案,我也不确定是否应该是这种方式,但理论上位置的改变确实应该触发时区更新。