我需要输入时间值 hh:mm:ss(09:45:56)
格式,但是在 Xcode 文本字段中我总是(094556)
以格式输入 -
如何解决这个问题?
问问题
1214 次
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 回答