我必须在我的应用中显示日期,我需要以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小时格式显示。我怎么能这样做?
答案 0 :(得分:5)
只需切换
kDateDisplayFormat.dateFormat = @"HH:mm a";
到
kDateDisplayFormat.dateFormat = @"hh:mm a";
答案 1 :(得分: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
设置为系统时区,默认设置为此。
答案 2 :(得分:0)
尝试以下方法:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:[NSDateFormatter dateFormatFromTemplate:@"hh:mm a" options:0 locale:[NSLocale currentLocale]]];
NSString *theTime = [dateFormatter stringFromDate:[NSDate date]];