NSDate NSComponent NScalendar NS
2016-07-14 本文已影响153人
Dayu大鱼
使用日期 时间 定时器
内容:
- 1使用NSDate 创建表示今天的日期
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSDate*todaysDate=[NSDate date];
NSLog(@"今天的日期是:%@",todaysDate);
}
return 0;
}
运行结果为:
2016-07-14 13:27:18.385 NSDate今天的日期[4342:1876448] 今天的日期是:2016-07-14 05:27:18 +0000
Program ended with exit code: 0
- 2 通过NSDateComponents 创建自定义日期
需要使用到三个Foundation类:
- 1.NSDate
- 2.NSDateComponent
- 3.NSCalendar
-
- NSDate :表示日期的最基本的类
- NSDateComponent 构成日期与时间的细节信息
- NSCalendar 真实世界的日历
简单总结一下就是说: NSDate 得到的日期(带有格式),是从NSDateComponent 获得的(Component可以自己定义 ,NSDate从中获取你定义的时间);
NSCalendar 什么时候用呢?
就是在使用NSDate 获取时间的时候,要指定一个NSCalendar(需要一个指向日历的引用"如果代码中没有用到NSCalendar 其实使用的是默认的")
代码表示:
通过component创建自定义日期.jpeg)
设置你感兴趣的日期属性,指定时区,获得NSDate对象 需要有指向日历的引用,后从component中获取 于设置相对应的日期对象:通过这个步骤就能得到相应的信息
- 3 将字符串转为日期
- NSDateFormatter 创建日期格式化器,并将日期格式化为字符串显示给用户
NSString*dateString=@"03/12/2016";
NSDateFormatter*df=[[NSDateFormatter alloc]init];
df.dateFormat=@"MM/dd/yyyy";
NSDate*date=[df dateFromString:dateString];
NSLog(@"%@",date);
结果:
2016-07-14 15:17:19.350 NSDate今天的日期[5078:2215365] 2016-03-11 16:00:00 +0000
- 4使用定时器调度,并重复执行任务
NSTimer*time=[NSTimer alloc ]init...
NSRunLoop*runloop=[NSRunLoop currentRunLoop];
[runLoop addTimer:timer forMode:NSDefaultRunLoopMode];
这里有一个运行循环的引用要注意 一开始还真的不好懂,不过我就不深究了,就当是固定格式了