我希望用户输入他们的时间,例如他们可以输入4:30而我只能获得4和30.或者是否有更简单的方法从文本字段中获取时间?我知道如何从文本字段中获取整数,但我想知道如何获得两个或更多的时间,无论哪个更容易。
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([[segue identifier]isEqualToString:@"submitsegue"])
{
secondViewController *vc2 = [segue destinationViewController];
vc2.inputfrom1 = [age.text integerValue];
}
}
这是我的代码来获得一个数字。
答案 0 :(得分:1)
您可以将字符串转换为日期,然后存储该日期的组件:
NSString *dateString = self.textField.text;
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"HH:mm"]; //this is the format for 24-hour
NSDate *date = [dateFormat dateFromString:dateStr];
(顶部的原始答案:Convert string to date in my iPhone app)
然后提取组件并将其保存为小时和分钟:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:date];
int hour = [components hour];
int minute = [components minute];
(原始答案:How do I get hour and minutes from NSDate?)
如果你的字符串不是有效格式的字符串,你的NSDate对象将是nil,所以你可以在那里验证它。
如果日期选择器也符合您的条件,您可以使用它而不显示日期组件。 (how to display only time in UIDatePicker iphone)