2012-10-10 58 views
2

我需要輸入時間值hh:mm:ss (09:45:56)格式,但是在Xcode文本字段中我總是得到(094556)作爲格式 -
如何解決這個問題?如何以hh:mm:ss格式輸入時間值?

+1

爲什麼不使用['UIDatePicker'(http://developer.apple.com/library/ios/#documentation/uikit/reference/UIDatePicker_Class/Reference/UIDatePicker.html) – rckoenes

+0

只是我需要手動輸入時間這是y –

回答

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

+0

parseddate = 2000-01-01 04:15:56 +0000不是今天的日期 – iphonemaclover

1

如果我正確地理解了這個問題,您希望格式化爲HH:mm:ss格式的文本,因爲它在UITextField中輸入?

在這種情況下,讓您的視圖控制器UITextFieldDelegate和實施這個選擇:

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

每當用戶鍵入一個字符,或刪除它,這個方法會被調用。此時,您可以確定是否格式化字符串。例如,在輸入第二個字符(因此創建了09的小時部分)後,可以在字符串後附加一個「:」,使其看起來像「09:」。

另一種選擇。

- (void)textFieldDidEndEditing:(UITextField *)textField 
+0

對不起,我不明白這一點,任何示例鏈接? –

相關問題