2

時間値 hh:mm:ss (09:45:56)format を入力する必要がありますが、Xcode テキスト フィールドでは常に(094556)format として取得されます -
これを解決するにはどうすればよいですか?

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 

ユーザーが文字を入力または削除するたびに、このメソッドが呼び出されます。その時点で、文字列をフォーマットするかどうかを決定できます。たとえば、2番目の文字を入力して、09の時間コンポーネントを作成した後、文字列に「:」を追加して、「09:」のようにすることができます。

別のオプション。文字列全体の入力が完了したら、このセレクターを使用してフォーマットします。

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