2011-08-24 112 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]; 
相关问题