码迷,mamicode.com
首页 > 其他好文 > 详细

NSDate ,NSCalendar一些用法

时间:2016-08-03 23:57:45      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

NSDate *date = [NSDate date];

[date dateByAddingTimeInterval: ]//通过加减秒数来改变date的值
这里一般需要用到日期格式器NSFormatter类 NSFormatter *formatter = [NSFormatter alloc]init];
[formatter setDateStyle: ]//设置系统时间格式
[formatter setDateFormat:];//自定义时间格式(格式要规范)
G: 公元时代,例如AD公元
yy: 年的后2位
yyyy: 完整年
MM: 月,显示为1-12
MMM: 月,显示为英文月份简写,如 Jan
MMMM: 月,显示为英文月份全称,如 Janualy
dd: 日,2位数表示,如02
d: 日,1-2位显示,如 2
EEE: 简写星期几,如Sun
EEEE: 全写星期几,如Sunday
aa: 上下午,AM/PM
H: 时,24小时制,0-23
K:时,12小时制,0-11
m: 分,1-2位
mm: 分,2位
s: 秒,1-2位
ss: 秒,2位
S: 毫秒

[formatter setTimeStyle:]//设置时间格式
//NSLocale地区类
NSLocale loca1 = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CH"];
NSLocale 
loca2 = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US"];
//[formattter setLocale]//设置地区格式

NSString *str = [formatter stringFromDate:date]//将日期通过设置好的格式器转换成字符串

同样的NSString也可以通过格式器转换成NSDate格式
NSDate *date1 = [formatter dateFromstring: ];

NSCalendar 和 NSDateComponents

NSCalendar calendar =[NSCalendar currentCalendar];//通过系统日历信息创建日历
//设置一个包含指定日期组件的unitFlags
unsigned unitFlags =
NSCalendarUnitEra |
NSCalendarUnitYear |
NSCalendarUnitMonth |
NSCalendarUnitDay |
NSCalendarUnitHour |
NSCalendarUnitMinute |
NSCalendarUnitSecond |
NSCalendarUnitWeekday ;
//按照指定NSCalendar格式获取date的日期组件components
NSDateComponents 
comp = [ calendar components:unitFlags fromDate:date];
就可以读取comp.era,comp.year,......

 同样的NSComponents也可以用来组成一个NSDate

NSDateComponents comp2 = [ NSDateComponents alloc]init];
//设置comp2
comp2.year = 2016,comp2.month = 07,comp2.day = 28,........
//将日期组件通过calendar转换成date2
NSDate 
date2 = [calendar dateFromComponents:comp2];

NSLog(@"日期:%@",date2);

总结:NSDate 和 NSString可以通过NSFormatter相互转换
NSDate 和NSCompoents可以通过NSCalendar相互转换

 

 

NSDate ,NSCalendar一些用法

标签:

原文地址:http://www.cnblogs.com/wan-huan/p/5734834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!