shortWeekdaySymbols,NSLocale,NSDateComponents
来源:互联网 发布:php 会员下载系统源码 编辑:程序博客网 时间:2024/06/05 18:46
NSLocale
若你只开发中国区的应用,需要保证用户修改当前语言环境时应用的显示不发生变化。而像NSDateFormatter这样的类,会根据设备的设置,自动返回不同语言的数据。为了保证返回数据的语言一致,我们需要设置NSLocale。
1
<!-- lang: cpp -->
// 根据本地标识符创建本地化对象
2
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@
"zh"
];
3
NSDateFormatter *secondDateFormatter = [[NSDateFormatter alloc] init];
4
[secondDateFormatter setDateFormat:@
"cccc"
];
5
secondDateFormatter.locale = locale;
6
NSDate *date = [NSDate date];
7
NSLog(@
"%@"
, [secondDateFormatter stringFromDate:date]);
当然,像上面的需求很罕见。
作为大家都不常用的一个类,NSLocale类是将与国家和语言相关的信息进行简单的组合,包括货币,文学方面的信息。
货币:货币的国际名称(人民币的国际货币名称是CNY);货币符号(人民币的国际货币符号是¥)
文学:标点符号,文字的书写顺序(左右顺序),引用的起止符号等等
若做金融一类的应用可能会用到NSLocale这个类。
- (NSString *)sgyoymdForView {
// _sgyoymd 是NSString的类型
return [SWKUtilityconvertDateToStringWithName:[SWKUtilityconvertStringToDate:_sgyoymdformat:@"yyyyMMdd"]];
}
+ (NSString *)convertDateToString:(NSDate *)date format:(NSString *)format
{
NSDateFormatter* formatter = [[NSDateFormatteralloc] init];
formatter.locale = [[NSLocalealloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[formatter setDateFormat:format];
if ([formatlength] == 0)
{
[formatter setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
}
else
{
[formatter setDateFormat:format];
}
NSString *strDate = [formatterstringFromDate:date];
return strDate;
}
+ (NSDate *)convertStringToDate:(NSString *)dateString format:(NSString *)format {
NSDateFormatter* formatter = [[NSDateFormatteralloc] init];
//根据本地标识符创建本地化对象
formatter.locale = [[NSLocalealloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[formatter setDateFormat:format];
if ([formatlength] == 0)
{
[formatter setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
}
else
{
[formatter setDateFormat:format];
}
//
return [formatterdateFromString:dateString];
}
+ (NSString *)convertDateToStringWithName:(NSDate *)date
{
//时间转换成字符串
NSDateFormatter* formatter = [[NSDateFormatteralloc] init];
formatter.locale = [[NSLocalealloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[formatter setDateFormat:@"yyyy年MM月dd日"];
NSString *strDate = [formatterstringFromDate:date];
NSCalendar* calendar = [NSCalendarcurrentCalendar];
NSDateComponents* comps = [calendarcomponents:NSCalendarUnitWeekdayfromDate:date];
formatter.locale = [[NSLocalealloc] initWithLocaleIdentifier:@"zh"];
//获取当月1号的星期,星期六对应的weekDay是7,shortWeekdaySymbols是显示的一种格式
NSString *strWeekDay = [NSStringstringWithFormat:@"(%@)", formatter.shortWeekdaySymbols[comps.weekday-1]];
NSString *ret = [NSStringstringWithFormat:@"%@%@", strDate, strWeekDay];
return ret;
}
日历(NSCalendar)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
控制台输出
- shortWeekdaySymbols,NSLocale,NSDateComponents
- NSDate、NSTimeInterval、NSDateFormatter、NSLocale 、NSTimeZone、NSDateComponents详解
- 17 Foundation框架之NSDate、NSDateFormatter、NSDateComponents、NSCalendar、NSLocale、NSTimer
- Foundation框架浅析 - 时间相关的类:NSDate、NSTimeZone、NSLocale、NSDateComponents、NSCalendar、NSDateFormatter
- NSLocale
- NSLocale
- NSLocale
- NSCalendar + NSDateComponents
- NSCalendar NSDateComponents
- NSCalendar + NSDateComponents
- NSCalendar + NSDateComponents
- NSLocale Class
- NSLocale用法
- NSDateFormatter NSDate NSCalendar NSdateComponents
- NSCalendar和NSDateComponents使用
- NSDate , NSDateComponents , NSDateFormatter, NSCalendar
- IOS NSDateFormatter 和NSDateComponents
- NSDateComponents的各种week
- 多线程之线程池的应用
- 阈值处理
- 源码分析初级《篇一》 为何建议使用LayoutInflater.from而不用View.inflate
- 论找朋友与工作的重要性
- redis.properties文件的配置及说明
- shortWeekdaySymbols,NSLocale,NSDateComponents
- hello world 的简单输入输出
- 在Java中连接字符串时是使用+号还是使用StringBuilder
- 旧的 DxgkDdiSubmitBuffer / DxgkDdiRender 函数已被弃用)。这个函数相当复杂,并且还接受来自用户模式驱动程序提交的每一个由厂商特定的数据。我在这里找到了一个bug。
- 495. Teemo Attacking
- jQuery.extend 函数使用详解
- BZOJ3261 最大异或和
- 正割函数(sec)
- eclipse远程调试tomcat部署的程序