如何以hh:mm:ss格式输入时间值?

时间:2012-10-10 13:10:54

标签: ios cocoa ios4 xcode4

我需要输入时间值hh:mm:ss (09:45:56)格式,但在Xcode文本字段中,我始终以(094556)作为格式 -
如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以使用NSDateFormatter来解析任何自定义格式

NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];

dateformatter.dateFormat = @"HH':'mm':'ss";

NSString *mydate = @"09:45:56" 

NSDate *parseddate = [dateformatter dateFromString:mydate];

这应该给你一个“今天上午9点45分”的日期

NSDateFormatter的文档相当不错,但您可以在此找到特定的格式化程序变体。它与苹果文档相关联。

http://www.unicode.org/reports/tr35/tr35-19.html#Date_Format_Patterns

答案 1 :(得分:1)

如果我正确理解了这个问题,你想在HIT:mm:ss格式中格式化文本,因为它是在UITextField中输入的吗?

在这种情况下,让您的视图控制器成为UITextFieldDelegate并实现此选择器:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 

每次用户键入一个字符或删除它时,都会调用此方法。此时,您可以确定是否格式化字符串。例如,在他们键入第二个字符,从而创建09的小时组件后,您可以在字符串中添加“:”,使其看起来像“09:”。

另一种选择。使用此选择器在完成整个字符串输入后对其进行格式化:

- (void)textFieldDidEndEditing:(UITextField *)textField