您的位置:首页 > 其它

131,NSCalendar的应用

2015-12-23 12:55 246 查看
#import <Foundation/Foundation.h>

int main(int argc,
const char * argv[]) {

//1,使用NSCalendar获取年,月,日,时,分,秒

NSDate *now = [NSDate
date];

NSLog(@"now = %@",now);

//创建日历对象

//components:需要获取哪一些值

NSCalendar *calendar = [NSCalendar
currentCalendar];

NSCalendarUnit type =
NSCalendarUnitYear|kCFCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond;

NSDateComponents *cmp = [calendar
components:type fromDate:now];

NSLog(@"year = %ld",cmp.year);

NSLog(@"month = %ld",cmp.month);

NSLog(@"day = %ld",cmp.day);

NSLog(@"hour = %ld",cmp.hour);

NSLog(@"month = %ld",cmp.month);

NSLog(@"second = %ld",cmp.second);

//2,使用NSCalendar
比较两个时间差

NSString *str =
@"2015-11-11 12:12:12 +0000";

NSDateFormatter *formatter = [[NSDateFormatter
alloc]init];

formatter.dateFormat =
@"yyyy-MM-dd HH:mm:ss Z";

NSDate *passDate1 = [formatter
dateFromString:str];

NSLog(@"passDate = %@",passDate1);

NSDate *now1 = [NSDate
date];

NSCalendar *calendar1 = [NSCalendar
currentCalendar];

NSCalendarUnit type1 =
NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond;

NSDateComponents *cmp1 = [calendar1
components:type1 fromDate:passDate1
toDate:now1 options:0];

NSLog(@"passDate1 = %@",passDate1);

NSLog(@"now1 = %@",now1);

NSLog(@"差值:%ld-%ld-%ld %ld:%ld:%ld",cmp1.year,cmp1.month,cmp1.day,cmp1.hour,cmp1.minute,cmp1.second);

return 0;

}

//2015-12-23 12:53:10.305 13,NSCalendar的应用[1864:188372] now = 2015-12-23 04:53:10 +0000

//2015-12-23 12:53:10.305 13,NSCalendar的应用[1864:188372] year = 2015

//2015-12-23 12:53:10.305 13,NSCalendar的应用[1864:188372] month = 12

//2015-12-23 12:53:10.305 13,NSCalendar的应用[1864:188372] day = 23

//2015-12-23 12:53:10.305 13,NSCalendar的应用[1864:188372] hour = 12

//2015-12-23 12:53:10.305 13,NSCalendar的应用[1864:188372] month = 12

//2015-12-23 12:53:10.306 13,NSCalendar的应用[1864:188372] second = 10

//2015-12-23 12:53:10.307 13,NSCalendar的应用[1864:188372] passDate = 2015-11-11 12:12:12 +0000

//2015-12-23 12:53:10.307 13,NSCalendar的应用[1864:188372] passDate1 = 2015-11-11 12:12:12 +0000

//2015-12-23 12:53:10.307 13,NSCalendar的应用[1864:188372] now1 = 2015-12-23 04:53:10 +0000

//2015-12-23 12:53:10.307 13,NSCalendar的应用[1864:188372]
差值:0-1-11 16:40:58

//Program ended with exit code: 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: