ios中的日期转换问题

时间:2014-04-01 08:06:59

标签: ios iphone objective-c nsdateformatter

我有一个问题是将时间从12小时转换为24小时。为此我做了所有必需的事情,并且主要遵循所有堆栈溢出答案,但它没有帮助我。我需要做的是我有一个NSString对象在12小时内有时间(不是日期),如下午6点,我需要在24小时(18:00)更改此对象。以下是我为此所做的事情:

NSString* dateString = startTime;
NSDateFormatter* fmt = [NSDateFormatter new];
[fmt setDateFormat:@"HH:mm"];
NSDate* date = [fmt dateFromString:dateString];

但它返回nil日期。这里可以缺少什么?

更新:

还有一件事,12小时的时间给了我正确的结果,但是'上午'和'下午'是小写字母,所以有没有任何程序可以用大写字母。

1 个答案:

答案 0 :(得分:1)

NSString* dateString = @"6:00 pm";
NSDateFormatter* dateFormat = [NSDateFormatter new];
[dateFormat setDateFormat:@"h:mm a"];
NSDate* date = [dateFormat dateFromString:dateString];
[dateFormat setDateFormat:@"H:mm"];
return [dateFormat stringFromDate: date];