How to format NSDate?(如何格式化 NSDate?)
问题描述
如何让我的 NSDate 以例如2011 年 2 月 26 日星期二"的格式显示
How can I get my NSDate to display in the format for example i.e "Tue Feb 26, 2011"
推荐答案
做对了.不要对您的日期格式进行硬编码.有些国家不是您所在的国家/地区,它们可能有不同的日期格式.因此,如果您想向用户显示此日期,您应该使用一种将用户区域设置考虑在内的方法.
Do it right. Don't hardcode your date formats. There are countries that are not your country and they might have different date formats. So if you want to show this date to the user you should use a method that takes the users locale into account.
您可以使用 iOS4 中引入的 dateFormatFromTemplate:options:locale: 方法来获取包含您想要的所有信息的适当格式.
如果你必须支持 iOS <4 您应该使用此模板方法创建一个 plist,以便为用户区域设置创建正确的日期格式.
You could use the dateFormatFromTemplate:options:locale: method introduced in iOS4 to get the appropriate format with all the information you want.
And if you have to support iOS < 4 you should create a plist with this template method to create the correct date format for the user locale.
NSLocale *locale = [NSLocale currentLocale];
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
NSString *dateFormat = [NSDateFormatter dateFormatFromTemplate:@"E MMM d yyyy" options:0 locale:locale];
[formatter setDateFormat:dateFormat];
[formatter setLocale:locale];
NSLog(@"Formatted date: %@", [formatter stringFromDate:myDate]);
为我的语言环境提供 So., 27. Feb 2011.2011 年 2 月 27 日星期日,适用于 en_US 语言环境
gives So., 27. Feb 2011 for my locale.
and Sun, Feb 27, 2011 for the en_US locale
这篇关于如何格式化 NSDate?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何格式化 NSDate?
基础教程推荐
- iOS - UINavigationController 添加多个正确的项目? 2022-01-01
- navigationItem.backBarButtonItem 不工作?为什么上一个菜单仍然显示为按钮? 2022-01-01
- Xcode UIView.init(frame:) 只能在主线程中使用 2022-01-01
- SwiftUI-ScrollViewReader的ScrollTo不滚动 2022-01-01
- 为什么姜饼模拟器方向卡在应用程序中? 2022-01-01
- Android Volley - 如何动画图像加载? 2022-01-01
- 如何将图像从一项活动发送到另一项活动? 2022-01-01
- UIImage 在开始时不适合 UIScrollView 2022-01-01
- Play 商店的设备兼容性问题 2022-01-01
- 如何比较两个 NSDate:哪个是最近的? 2022-01-01
