NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDate *now2; NSDateComponents *comps = [[NSDateComponents alloc] init]; NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; now2=[NSDate date]; comps = [calendar components:unitFlags fromDate:now2]; int week = [comps weekday]; int month = [comps month]; int day = [comps day]; int hour = [comps hour]; int min = [comps minute]; int sec = [comps second];
根据年月日计算星期
/******************************************************* ** ** 求输入日期是星期几 (0表示星期天,其余为 1-6) ** 如果你要输出是星期几那就自己去加工一下就OK,很简单的啦! ** ********************************************************/ int SW_WeekDay(int year, int month, int day) { int DayOfWeek; /*下面的四条语句用来计算输入日期的星期数,是程序的核心部分,缺一不可*/ DayOfWeek = year > 0 ? (5 + (year + 1) + (year - 1)/4 - (year - 1)/100 + (year - 1)/400) % 7 : (5 + year + year/4 - year/100 + year/400) % 7; DayOfWeek = month > 2 ? (DayOfWeek + 2*(month + 1) + 3*(month + 1)/5) % 7 : (DayOfWeek + 2*(month + 2) + 3*(month + 2)/5) % 7; if (((year%4 == 0 && year%100 != 0) || year%400 == 0) && month> 2) { DayOfWeek = (DayOfWeek + 1) % 7; } DayOfWeek = (DayOfWeek + day) % 7; return DayOfWeek; }