OC之日期与时间类续:时间格式器NSDateFormatter

NSDateFormatter 代表一个日期格式器,它的功能就是完成NSDate 与 NSString 之间的转换。NSDateFormatter 的setDateStyle、 setTimeStyle 方法可以设置格式化日期、时间的风格,其中,日期、时间风格支持如下几个枚举值:
NSDateFormatterNoStyle; //不显示日期、时间风格NSDateFormatterShortStyle;// 显示"短"的日期、时间风格NSDateFormatterMediumStyle;// 显示"中等"的日期、时间风格NSDateFormatterLongStyle;// 显示"完整"的日期、时间风格

NSDate *date = [NSDate dateWithTimeIntervalSince1970:3600 * 24 * 366 * 20]; //1970年1月1日开始,20年之后的日期
// 创建两个NSLocele,分别代表中国、美国
NSLocale *locales[] = {[NSLocale localeWithLocaleIdentifier:@"zh_CN"], [NSLocale localeWithLocaleIdentifier:@"en_US"]};
NSDateFormatter *dateFormater[7]; // 创建一个NSDateFormatter 数组
for (int i = 0; i < 2; i++) {
// ----------1. ShortStyle 的日期、时间风格 || NSLocale----------
dateFormater[i * 4] = [[NSDateFormatter alloc] init];
[dateFormater[i * 4] setDateStyle:NSDateFormatterShortStyle];
[dateFormater[i * 4] setTimeStyle:NSDateFormatterShortStyle];
[dateFormater[i * 4] setLocale:locales[i]];
// 获取从
// ----------2. MediumStyle 的日期、时间风格 || NSLocale----------
    dateFormater[i * 4 + 1] = [[NSDateFormatter alloc] init];
    [dateFormater[i * 4 + 1] setDateStyle:NSDateFormatterMediumStyle];
    [dateFormater[i * 4 + 1] setTimeStyle:NSDateFormatterMediumStyle];
    [dateFormater[i * 4 + 1] setLocale:locales[i]];
// ----------3. LongStyle 的日期、时间风格 || NSLocale----------
dateFormater[i * 4 + 2] = [[NSDateFormatter alloc] init];
[dateFormater[i * 4 + 2] setDateStyle:NSDateFormatterLongStyle];
[dateFormater[i * 4 + 2] setTimeStyle:NSDateFormatterLongStyle];
[dateFormater[i * 4 + 2] setLocale:locales[i]];
// ----------4. FullStyle 的日期、时间风格 || NSLocale----------
dateFormater[i * 4 + 3] = [[NSDateFormatter alloc] init];
[dateFormater[i * 4 + 3] setDateStyle:NSDateFormatterFullStyle];
[dateFormater[i * 4 + 3] setTimeStyle:NSDateFormatterFullStyle];
[dateFormater[i * 4 + 3] setLocale:locales[i]];
}
for (int i = 0; i < 2; i++) {
switch (i) {
    case 0: NSLog(@"----------中国日期格式----------"); break;
    case 1: NSLog(@"----------美国日期格式----------");
    default: break;
}
//分别打印两个地区的4种时间格式
NSLog(@"Short 格式日期:%@", [dateFormater[i * 4] stringFromDate:date]);
NSLog(@"Medium 格式日期:%@", [dateFormater[i * 4 + 1] stringFromDate:date]);
NSLog(@"Long 格式日期:%@", [dateFormater[i * 4 + 2] stringFromDate:date]);
NSLog(@"Full 格式日期:%@", [dateFormater[i * 4 + 3] stringFromDate:date]);
}

打印结果:

2016-06-18 23:35:39.382 时间相关[822:26449] ----------中国日期格式----------
2016-06-18 23:35:39.387 时间相关[822:26449] Short 格式日期:90/1/16 上午8:00
2016-06-18 23:35:39.387 时间相关[822:26449] Medium 格式日期:1990年1月16日 上午8:00:00
2016-06-18 23:35:39.390 时间相关[822:26449] Long 格式日期:1990年1月16日 GMT+8 上午8:00:00
2016-06-18 23:35:39.390 时间相关[822:26449] Full 格式日期:1990年1月16日 星期二 中国标准时间 上午8:00:00
2016-06-18 23:35:39.390 时间相关[822:26449] ----------美国日期格式----------
2016-06-18 23:35:39.391 时间相关[822:26449] Short 格式日期:1/16/90, 8:00 AM
2016-06-18 23:35:39.391 时间相关[822:26449] Medium 格式日期:Jan 16, 1990, 8:00:00 AM
2016-06-18 23:35:39.391 时间相关[822:26449] Long 格式日期:January 16, 1990 at 8:00:00 AM GMT+8
2016-06-18 23:35:39.392 时间相关[822:26449] Full 格式日期:Tuesday, January 16, 1990 at 8:00:00 AM China Standard Time

喜欢的话,帮忙点一下喜欢,谢谢!
如果有错误之处或者偏差,还请斧正!
欢迎大家留言提问,技术要交流才能更快成长!

你可能感兴趣的:(OC之日期与时间类续:时间格式器NSDateFormatter)