2014年8月20日 星期三

取得NSCalendar格式的NSDateComponents

NSDateComponents *dateComps = [[NSCalendar currentCalendar] components: NSHourCalendarUnit fromDate:[NSDate date]];
    NSLog(@"hour:%i minutes:%i day:%i", dateComps.hour, dateComps.minute, dateComps.day);

這樣dateComps.hour會回傳當地的小時,而沒有列舉出來的(例如,dateComps.minute或dateComp.day)都只會回傳時間的總秒數。

如果想列出其他的日曆值,必需把列舉加進去
NSDateComponents *dateComps = [[NSCalendar currentCalendar] components: NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit fromDate:[NSDate date]];


也可以把NSCalendar轉成NSDate
NSDateComponents *dateComps = [[NSCalendar currentCalendar] components: NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit fromDate:[NSDate date]];
    NSDate *date = [[NSCalendar currentCalendar] dateFromComponents:dateComps];

    NSLog(@"now : %@", date);
如果只有設小時,那轉成NSDate,會變成0001年01月01日hour時00分00秒

沒有留言:

張貼留言