12

我有时间在 NSString 中,例如“15:15”

我想将此 NSString 时间转换为 12 小时 NSString(即“3:15 PM”)。

4

3 回答 3

32

用于NSDateFormatter将字符串转换为NSDate. 然后再次使用 dateformatter 将其更改NSDate为字符串。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"HH:mm";
NSDate *date = [dateFormatter dateFromString:@"15:15"];

dateFormatter.dateFormat = @"hh:mm a";
NSString *pmamDateString = [dateFormatter stringFromDate:date];

代码可能包含一些错误,无需编译或测试即可编写。

于 2012-06-21T14:10:27.180 回答
2

@Python

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:locale];
[dateFormatter setDateFormat:@"hh:mm"];

希望这可以帮助!

于 2016-06-24T07:01:51.503 回答
0

看看这个 SO 问题:NSDateFormatter dateFromString and iPhone in 24 Hour Format Confusion

您应该能够使用NSDateFormatter来格式化您想要的时间样式,然后将字符串读入格式化程序并以您想要的格式将其拉回。

于 2012-06-21T14:10:25.993 回答