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

NSDate小结

时间:2016-05-12 12:51:54      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

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
HH 24小时
hh 12小时
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];

NSDate小结

标签:

原文地址:http://blog.csdn.net/qiuyang18249095161/article/details/51367464

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