2

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

4

2 回答 2

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

于 2012-10-10T14:25:32.017 回答
1

如果我正确理解了这个问题,您想在 UITextField 中输入 HH:mm:ss 格式的文本吗?

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

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

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

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

- (void)textFieldDidEndEditing:(UITextField *)textField
于 2012-10-10T13:29:19.947 回答