美文网首页
objective-c NSDate和NSCalendar

objective-c NSDate和NSCalendar

作者: 一世长安乱 | 来源:发表于2018-04-10 16:48 被阅读0次
  • 创建时间对象,以当前时间为标准
//1.创建时间对象,以当前时间为标准
NSDate *now = [NSDate date];
  • 在该时间基础上加上10s
//2.在该时间基础上加上10s
now = [now dateByAddingTimeInterval:10];
  • 获取当前时区
//3.获取当前时区
NSTimeZone *zone = [NSTimeZone systemTimeZone];
  • 获取当前时区和东八区的时间差
//4.获取当前时区和东八区的时间差
NSInteger seconds = [zone secondsFromGMTForDate:now];
NSLog(@"%li",(long)seconds);
NSDate *newnow = [now dateByAddingTimeInterval:seconds];
NSLog(@"zone = %@", zone);
NSLog(@"newnow = %@", newnow);
  • 时间格式化
//5.时间格式化
//创建一个时间格式化对象
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//给时间格式化对象格式化
formatter.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒";
NSString *res = [formatter stringFromDate:now];
NSLog(@"%@", res);
  • NSString -> NSDate
//6.NSString -> NSDate
NSString *str = @"2018年02月17日 15时13分55秒";
NSDateFormatter *newformatter = [[NSDateFormatter alloc] init];
newformatter.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒";
NSDate *newDate = [newformatter dateFromString:str];
NSLog(@"%@", newDate);


从所给的时间里面或获取元素
NSDate *now = [[NSDate alloc] init];
//日历对象
NSCalendar *calendar = [NSCalendar currentCalendar];
//从提供的时间中获取年份
NSDateComponents *cmps = [calendar components:NSCalendarUnitYear fromDate:now];
NSCalendarUnit枚举
NSDate *now = [[NSDate alloc] init];
//日历对象
//通过 | 可以连接多个枚举
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit type = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
//从提供的时间中获取年份
NSDateComponents *cmps = [calendar components:type fromDate:now];
NSLog(@"%ld", cmps.year);
NSLog(@"%ld", cmps.month);
NSLog(@"%ld", cmps.day);
NSLog(@"%ld", cmps.hour);
NSLog(@"%ld", cmps.minute);
NSLog(@"%ld", cmps.second);
比较两个时间的差值
//其中一个比较时间
NSString *str = @"2018年02月17日 15时13分55秒";
NSDateFormatter *newformatter = [[NSDateFormatter alloc] init];
newformatter.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒";
NSDate *newDate = [newformatter dateFromString:str];
//另一个比较时间
NSDate *now = [NSDate date];
//日历对象
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit type = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
//比较方法,
NSDateComponents *res= [calendar components:type fromDate:newDate toDate:now options:0];
NSLog(@"%@", res);

相关文章

网友评论

      本文标题:objective-c NSDate和NSCalendar

      本文链接:https://www.haomeiwen.com/subject/dwenhftx.html