根据NSDate或年月日得到是星期几

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; 
}
posted @ 2012-11-19 19:48  不想当元帅的好兵。  阅读(339)  评论(0编辑  收藏  举报