3

我必须在我的应用程序中显示日期,我只需要以 的格式显示日期12 - hour format,我已使用此代码显示date

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:kDateDisplayFormat];
NSTimeZone *timeZone = [NSTimeZone systemTimeZone];
[dateFormatter setTimeZone:timeZone];
NSString *todaysDate = [NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:[NSDate date]]];
[[self lblPointsDate] setText:todaysDate];

在这里,当我将 iPhone 日期格式更改为 24 小时制时,它以 24 小时制显示。我需要24 小时格式转换为 12 小时格式或使其仅以 12 小时格式显示。我怎样才能做到这一点?

4

3 回答 3

5

只需切换

kDateDisplayFormat.dateFormat = @"HH:mm a";

kDateDisplayFormat.dateFormat = @"hh:mm a";
于 2013-08-30T12:38:17.180 回答
2

虽然解决方案是使用 12 小时制hh而不是 24 小时制,但HH为什么不让用户系统偏好选择正确的格式:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateStyle = NSDateFormatterMediumStyle;
dateFormatter.timeStyle = NSDateFormatterShortStyle;

self.lblPointsDate.text = [dateFormatter stringFromDate:[NSDate date]]

也不需要设置dateFormatter.timeZone系统时区,这是默认设置的。

于 2013-08-30T12:42:07.137 回答
0

尝试以下操作:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:[NSDateFormatter dateFormatFromTemplate:@"hh:mm a" options:0 locale:[NSLocale currentLocale]]];
NSString *theTime = [dateFormatter stringFromDate:[NSDate date]];
于 2013-08-30T13:20:42.370 回答