Iphone: NSDateFormatter, как показать время в формате 24 часа?
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];
где testTime = @ "201518 07122011"; и я хочу получить результат за 24 часа
например. 20.15, а не 8:15 вечера
и есть ли лучший способ сделать это?
Ответы
Ответ 1
Попробуйте установить
[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]];
Ответ 2
Если вы укажете формат вместо NSDateFormatterShortStyle
, вы можете получить вывод в любом формате. Например:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];
[lblpickUpTime setText:[formatter stringFromDate:finalDate]];
[formatter release];