NSDate ,NSCalendar一些用法

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相互转换

 

 

转载于:https://www.cnblogs.com/wan-huan/p/5734834.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值