//根据日期返回当月的天数 (频繁调用 [NSCalendar currentCalendar] 可能存在性能问题)
- (NSUInteger)getDayCountWithDay:(NSDate *)date{ return [[NSCalendar currentCalendar] rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date].length; }
//传入具体的年月日来获取星期
- (NSString *)getWeekWithYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day{ //根据日期获取 NSDateComponents *comps = [[NSDateComponents alloc] init]; [comps setDay:day]; [comps setMonth:month]; [comps setYear:year]; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDate *date = [gregorian dateFromComponents:comps]; NSDateComponents *weekdayComponents = [gregorian components:NSCalendarUnitWeekday fromDate:date]; NSInteger weekday = [weekdayComponents weekday]; NSArray *array = [NSArray arrayWithObjects:@"星期日",@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六", nil]; return array[weekday-1]; }
//距离一个时间点的某个时间长度的时间
NSTimeInterval minute = 60*60; //分钟 NSTimeInterval hour = 60*60; //小时 NSTimeInterval day = 24*60*60; //天 //距离现在某个时间 [NSDate dateWithTimeIntervalSinceNow:<#(NSTimeInterval)#>]; //距离一个相对日期的某个时间 [NSDate dateWithTimeInterval:<#(NSTimeInterval)#> sinceDate:<#(nonnull NSDate *)#>]; //距离1970年1月1日的某个时间 [NSDate dateWithTimeIntervalSince1970:<#(NSTimeInterval)#>]; //距离2001年1月1日的某个时间 [NSDate dateWithTimeIntervalSinceReferenceDate:<#(NSTimeInterval)#>];
时间: 2024-10-24 09:25:28