我有一个正在更新到 OS4 的应用程序。在这个我使用时间选择器。从这个我想得到一个小时和分钟作为一个整数。这是我以前用于此的代码...
NSDate *selected = [timePicker date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit| NSMinuteCalendarUnit |NSSecondCalendarUnit;
NSDateComponents *compsDur = [gregorian components:unitFlags fromDate:selected];
int hDur = [compsDur hour];
int mDur = [compsDur minute];
int sDur = [compsDur second];
[gregorian release];
现在一切都在这里正常工作。我的问题是,当我更新到 OS4 时,如果我将手机时间设置更改为从英国到美国,我会得到一个随机值,而不是用户输入的值。
举个具体的例子,在英国时间,我将时间设置为 1 分钟,我得到 mDur 的返回值为 1。如果我将手机更改为纽约时间,我会得到 19 小时 6 分钟?这是怎么回事?