NSDate小结

1、NSDate的使用

1> NSDate初始化方法

//获取当前时间
NSDate * date = [NSDate date];
//返回以当前时间为基准,然后过了secs秒的时间 
[NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24];
//返回以lastDate为基准,然后过了secs秒的时间 
[NSDate dateWithTimeInterval:60 * 60 * 24 sinceDate:lastDate];
//返回以2001年1月1日为基准,然后过了secs秒的时间 
[NSDate dateWithTimeIntervalSinceReferenceDate:0];
//返回以1970年1月1日为基准,然后过了secs秒的时间 
[NSDate dateWithTimeIntervalSince1970:60 * 60 * 24];

2> 获取时间界限方法

//将来的时间界限4000年
[NSDate distantFuture];
//过去的时间界限0000年
[NSDate distantPast];

3> 比较时间方法

//比较两个时间是否相同
[date isEqualToDate:date2];
//返回比较晚的日期
[date laterDate:date2];
//返回比较早的日期
[date earlierDate:date2];
//返回NSComparisonResult对象
[date compare:date2];

4> 获取时间间隔方法

//获取两个时间的时间间隔
[date2 timeIntervalSinceDate:date];
//获取现在与2001年的时间间隔
[NSDate timeIntervalSinceReferenceDate];
//获取date1与2001年的时间间隔
[date1 timeIntervalSinceReferenceDate];
//获取date1与现在时间间隔
date1.timeIntervalSinceNow

5> 添加时间间隔

[date dateByAddingTimeInterval:60 * 60 * 24];

6> 根据当前位置字符串展示日期

[date descriptionWithLocale:[NSLocale currentLocale]];

2、NSDateFormatter格式化日期类

基本用法举例:

NSDate * date = [NSDate date];
//初始化
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
//设置日期格式
formatter.dateStyle = NSDateFormatterFullStyle;
//设置时间格式
formatter.timeStyle = NSDateFormatterShortStyle;
//设置区域语言
formatter.locale = [NSLocale localeWithLocaleIdentifier:@"zh-cn"];
//将日期按以上格式转换成字符串
NSString * dateString = [formatter stringFromDate:date];
NSLog(@"%@",dateString);

自定义日期格式NSDate转NString:

NSDate * date = [NSDate date];
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
//设置自定义日期格式
formatter.dateFormat = @"yyyy-MM-dd a hh:mm:ss.SSS E Z ";
NSString * dateString = [formatter stringFromDate:date];
NSLog(@"%@",dateString);

自定义日期格式NString转NSDate:

NSString * string = @"2015-12-29 10:18:19";
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSDate * date = [formatter dateFromString:string];
NSLog(@"%@",date);

总结dateFormat格式:

格式涵义
yyyy
MM
dd
HH24小时
hh12小时
mm分钟
ss
SSS微秒
a上午下午
E星期
Z时区

3、时间类的应用

1、测试一段代码的执行时间

NSDate * date = [NSDate date];
/*这里放测试代码*/
NSLog(@"%lf",[[NSDate date] timeIntervalSinceDate:date]);

2、Unix时间戳

//NSDate转时间戳
NSTimeInterval seconds = [[NSDate date] timeIntervalSince1970];
//时间戳转NSDate
NSDate * date = [NSDate dateWithTimeIntervalSince1970:1451394269];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值