我将小时和分钟作为NSIntegers(我不在乎秒...可能是00),并且将UIDatePicker调整为仅显示时间(UIDatePickerModeTime)。

一个简单的问题:如何在UIDatePicker上设置一个小时?小时采用24小时制(因为它自然来自选择器)。

假设这:

NSInteger hour = 17;
NSInteger minute = 12;
[myTimePicker setDate: ????];


我知道我必须将小时和分钟转换为NSDate,但是如何在不包括一天的情况下进行转换呢?我只需要时间

我读过this example,但它也考虑了这一天。

我该如何构造一个NSDate时间,以便可以调整UIDatePicker?

谢谢

最佳答案

您应该能够做到这一点,

NSCalendar * gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents * dateComponents = [[[NSDateComponents alloc] init] autorelease];
[dateComponents setHour:17];
[dateComponents setMinute:12];

myTimePicker.date = [gregorian dateFromComponents:dateComponents];


以后您可以这样获取小时和分钟,

NSCalendar * gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents * dateComponents = [gregorian components:(NSHourCalendarUnit|NSMinuteCalendarUnit) fromDate:myTimePicker.date];

int hour = [dateComponents hour];
int minute = [dateComponents minute];

关于iphone - iPhone-在UIDatePicker上调整日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6482575/

10-13 05:37