4

我想知道是否有一种方法可以从用户在 iOS 上设置的时间获取上午/下午。

我目前正在使用这种方法来获取时间:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH"];
hours.text = [formatter stringFromDate:[NSDate date]];

[formatter setDateFormat:@"m"];
minutes.text = [formatter stringFromDate:[NSDate date]];
if ([minutes.text intValue] < 10) {
    minutes.text = [NSString stringWithFormat:@"0%@",[formatter stringFromDate:[NSDate date]]];
}
[formatter release];

我知道我使用 HH 来获取小时数,对于 12 小时格式,我必须使用“hh”但这不能解决问题,我需要检索 AM/PM。

希望有人可以提供帮助!

4

2 回答 2

21

干得好。这是上午/下午格式的日期。

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss a"];
NSLog(@"Today's Date and Time: %@", [formatter stringFromDate:[NSDate date]]);
[formatter release];
于 2012-04-09T20:24:48.833 回答
3

Swift 最简单的答案:

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "a"
let currentAMPMFormat = dateFormatter.stringFromDate(NSDate()).uppercaseString
于 2015-08-29T14:40:46.380 回答