美文网首页
NSDate 获取到某个以当前日期为参照的符合你意愿的时间

NSDate 获取到某个以当前日期为参照的符合你意愿的时间

作者: 恋心 | 来源:发表于2015-07-15 15:59 被阅读0次

//获取到当前的时间

NSDate*nowDate = [NSDate date];

//创建一个工具,一个封装了具体年月日、时秒分、周、季度等的类

NSDateComponents* dateComponents = [[NSDateComponents alloc]init];

//创建一个日历,它提供了大部分的日期计算接口,并且允许您在NSDate和NSDateComponents之间转换

NSCalendar *dateCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian];

// NSDate 转 NSDateComponents所需要设置的值,可根据需要自己设置,这里是年~秒全部获取,如果某个没有写的话,比如NSCalendarUnitHour,你转成NSDateComponents后,会是一个很大或很小的数

NSInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitWeekday | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

//为dateComponents获取值,该值等价于nowDate

dateComponents = [dateCalendar components:unitFlagsfromDate:nowDate];

//创建一个NSDateComponents,开始设置你想要的时间

NSDateComponents *myCompoentes = [[NSDateComponents alloc]init];

//下面的值可以按照你的意愿去替换

[myCompoentes   setYear:dateComponents.year];

[myCompoentes   setMonth:dateComponents.month];

[myCompoentes   setWeekday:dateComponents.weekday];

[myCompoentes   setDay:dateComponents.day];

[myCompoentes   setHour:dateComponents.hour+1];

[myCompoentes   setMinute:dateComponents.minute];

[myCompoentes   setSecond:dateComponents.second];

//把通过myCompoentes设置的值转为NSDate格式,这个NSDate就是你想要的时间

NSDate*myDate = [dateCalendar  dateFromComponents:myCompoentes];

~~~~~~~~~~~~~~~~~~~~

nowDate 2015-07-15 07:47:36 +0000

myDate2 015-07-15 08:47:36 +0000

相关文章

网友评论

      本文标题:NSDate 获取到某个以当前日期为参照的符合你意愿的时间

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