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