以12小时时间格式转换NSString

时间:2013-05-08 05:17:55

标签: objective-c nsstring

在我的项目中,我有一个包含这样的数据的NSString

NSString *s=@"20";

我希望将其转换为" 08:00"。我怎么能这样做?

我试过这个:

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"hh:mm a"];
NSString* dateString = [dateFormatter stringFromDate:@"20"];

但我将此dateString作为空值。

2 个答案:

答案 0 :(得分:3)

您输入为NSString,需要输出为NSString

因此不需要NSDateNSDateFormatter的中间工作。

你可以通过以下方式实现这一目标:

NSString *s=@"20";
NSString *time=[NSString stringWithFormat:@"%d:00",[s integerValue]%12];

答案 1 :(得分:-1)

请尝试使用这个。我希望它能正常工作......

NSString *s=@"20";    
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"HH"];
NSDate *date = [df dateFromString:s];

[df setDateFormat:@"hh:mm a"];
NSString *newTime = [df stringFromDate:date];
NSLog(@"Time : %@",newTime);