如何在 Objective-C 中以 12 小时格式显示时间?
我正在开发 iPhone 应用程序,我需要在标签中显示时间。所以我写了以下内容:
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm a"];
NSString *formattedDateString = [dateFormatter stringFromDate:date];
timeLabel.text = formattedDateString;**
它在标签中显示时间,但以 24 小时格式。
- 示例:下午 15 点而不是下午 3 点
我想以 12 小时格式显示时间,即下午 3 点
我应该做什么?
提前致谢。
I was working on an iPhone application, and I need to display the time in a label. So I wrote the follow:
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm a"];
NSString *formattedDateString = [dateFormatter stringFromDate:date];
timeLabel.text = formattedDateString;**
It displays time in label but in 24H format.
- Example: 15.00 PM instead of 3.00 PM
I want to display time in 12h format, i.e. 3.00 PM
What should I do?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
[dateFormatter setDateFormat:@"hh:mm a"];
注意小写的 h。
[dateFormatter setDateFormat:@"hh:mm a"];
Note the lower case h's.
看看 UNICODE LOCALE DATA MARKUP LANGUAGE
猜你得用 KK而不是呵呵...
Just take a look UNICODE LOCALE DATA MARKUP LANGUAGE
Guess you have to use KK instead of HH ...
阅读文档是一个很好的做法。
HH- 在 2、3、4 点时仅显示 0。这不是 0-12 AM/PM 格式。
有关更多详细信息,请参阅“日期格式化程序”。
根据您的情况:
附录 F:日期格式模式
Reading the documentation is a good practice.
HH- is just showing the 0 when its 2,3,4 oclock. It's NOT 0-12 AM/PM format.
See “Date Formatters” there for more details.
in your case:
Appendix F: Date Format Patterns
斯威夫特3.0
Swift 3.0