2011-08-24 118 views
10
NSDateFormatter *formatter1=[[NSDateFormatter alloc]init]; 
[formatter1 setDateFormat:@"HHmmss MMddyyyy"]; 
NSDate *finalDate =[formatter1 dateFromString:testTime]; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setTimeStyle:NSDateFormatterShortStyle]; 
[lblpickUpTime setText:[formatter stringFromDate:finalDate]]; 
[formatter release]; 
[formatter1 release]; 

where testTime = @「201518 07122011」;並且我想在24小時內得到結果iphone:NSDateFormatter如何以24小時格式顯示時間?

例如, 20.15而不是8:15 PM

有沒有更好的方法來做到這一點?

回答

25

試圖通過將

[formatter setDateFormat:@"HH:mm"]; // replacement for [formatter setTimeStyle:NSDateFormatterShortStyle]; 

替代方法(不使用任何格式化):

NSRange range; 
range.location = 2; 
range.length = 2; 
NSString *dateString = [NSString stringWithFormat:@"%@:%@",[myString substringToIndex:2],[myString substringWithRange:range]]; 
+0

我只希望時間不要日期 – Azhar

+0

@azar檢查我的編輯答案 – KingofBliss

+0

那我的第二qutions那有沒有更好的方式來做到這一點的轉換,因爲我做了兩個格式化? – Azhar

4

如果指定的格式,而不是使用NSDateFormatterShortStyle,你可以在任何格式輸出你要。例如:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"]; 
[lblpickUpTime setText:[formatter stringFromDate:finalDate]]; 
[formatter release]; 
相關問題