从textfield获取时间

时间:2014-03-25 22:52:02

标签: ios uitextfield

我希望用户输入他们的时间,例如他们可以输入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];
    }
}

这是我的代码来获得一个数字。

1 个答案:

答案 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