XCode的时间

因为需要用上时间功能,获取年月日周。所以就查找了时间类来进行。

既然是用ObjectiveC,当然要用自带的类库了。

结果

  NSDate 直接就返回时间了,但是要获得年月日要通过其它类。

  NSComp 看起来可以直接取年月日周,不过好象要经过NSCalendar周转。

     于是就这样写了:

        NSCalendar* calc = [NSCalendar currentCalendar];

        NSDateComponents* comps = [calc components:NSWeekdayCalendarUnit fromDate:now]

        int iWeek = [comps weekday];

       int iyear = [omps day];

   然后很意外的发现,星期是对的,年月日是个超大整数,,进一步尝试后。

   确认comp在构造时要指定了要返回的信息。

  也就是说comp构造后只能返回一个信息。要想读取年月日星期,就要构造四次。。。晕倒

用NSDateFormater 输出NSDate的值为字符串,再扫描出4个整数?这也太无趣了吧。


一:日期相加:用NSDateComponets 指定偏移。

    NSDateComponents* comps = [NSDateComponentsalloc];

    NSDate* nsDt = [NSDate date];

    NSDate* result =  [[NSCalendarcurrentCalendar] dateByAddingComponents:compstoDate:nsDt options:0 ];

二:获取年月日整数:

    NSDate* now = [NSDatedate];

   NSCalendar* calc = [NSCalendarcurrentCalendar];

    NSDateComponents* comps = [calc components:

                              NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit

                                     fromDate:now];

    curyear = [comps year] ;

    curmonth = [comps month];

    curday = [comps day];



三:格式化返回:

    NSDateFormatter* form = [[NSDateFormatteralloc] init];

    [comps setDay:14];

    [form setDateFormat: @"yyyy MM dd "];

    NSString* nsResult = [formstringFromDate:dtDate];






补:[calc components] 中可以用|指定多个参数,这样就可以返回4个。不过感觉还是麻烦了点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值