美文网首页
日历(NSCalendar) 与日期组件(NSDateCompo

日历(NSCalendar) 与日期组件(NSDateCompo

作者: nalis风 | 来源:发表于2016-07-19 11:25 被阅读276次

    日历(NSCalendar) 与日期组件(NSDateComponents)

    1.(NSDateCOmponents *)components: fromDate:从NSDate提取年、月、日、时、分、秒个时间字段的信息

    2.dateFromComponents:(NSDateComponents*) cpmps: 使用comps对象包含的年、月、日、是、分、秒个时间段字段的信息创建NSDate

    NSDateComponents,专门用于封装年、月、日、时、分、秒。只包含了 year/mpnth/date/day/hour/minute second week weekday等个字段的setter和getter方法

    NSDate 对象中分开获取各时间字段数值步骤:

    1、创建NSCalendar

    2.调用NSDateComponentsfromDate;返回一个NSDateComponents对象

    3.调用NSDateComponents对象的getter方法来获取个时间段字段的数值

    使用各时间字段的数值初始化NSDate:

    1,创建NSCalendar对象

    2.穿件一个NSDateCompinents对象,调用该对象的setter方法来设置个时间字段的值

    3.调用NSCalendar的dateFromComponents:(NSDateComponents*)初始化NSDate对象,该方法将返回一个NSDate对象

    NSCalendar *gregorian=[[NSCalendar alloc]

    initWithCalendarIdentifier:NSGregorianCalendar];

    //定义一个时间字段的旗标

    unsigned unitFlags=NSYearCalendarUnit|

    NSMonthCalendarUnit |NSDayCalendarUnit|

    NSHourCalendarUnit|NSMinuteCalendarUnit|

    NSSecondCalendarUnit |NSWeekdayCalendarUnit;

    //获取不同时间字段的信息

    NSDate* dt=[[NSDate date];

    NSDateComponents* comp=[gregorian components:unitFlags fromDate:dt];

    //获取各时间字段的数值

    comp.year//年

    comp.weekday//星期

    NSDateComponents* comp2=[[NSDateComponents alloc]init];//设置

    comp2.year=2014;

    comp2.day=12;

    comp2.month=3;

    NSDate* date=[gregorian dateFromComponents:comp2];//利用components来重置NSDate

    NSLog(@"%@",date);

    相关文章

      网友评论

          本文标题:日历(NSCalendar) 与日期组件(NSDateCompo

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