iOS编程上获取本地时间以及星期几时间

来源:互联网 发布:怎么查别人mac地址 编辑:程序博客网 时间:2024/06/06 01:33


本文回复一位网友关于获取时间的问题:http://blog.csdn.net/duxinfeng2010/article/details/8653411#reply


- (void)viewDidLoad    {                [super viewDidLoad];                NSInteger year,month,day,hour,min,sec,week;        NSString *weekStr=nil;                NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];        NSDate *now = [NSDate date];;        NSDateComponents *comps = [[NSDateComponents alloc] init];        NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit |         NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;                comps = [calendar components:unitFlags fromDate:now];        year = [comps year];        week = [comps weekday];            month = [comps month];        day = [comps day];        hour = [comps hour];        min = [comps minute];        sec = [comps second];                if(week==1)        {            weekStr=@"星期天";        }else if(week==2){            weekStr=@"星期一";                    }else if(week==3){            weekStr=@"星期二";                    }else if(week==4){            weekStr=@"星期三";                    }else if(week==5){            weekStr=@"星期四";                    }else if(week==6){            weekStr=@"星期五";                    }else if(week==7){            weekStr=@"星期六";                    }            else {            NSLog(@"error!");        }                NSLog(@"现在是:%d年%d月%d日 %d时%d分%d秒  %@",year,month,day,hour,min,sec,weekStr);                NSInteger Monday = day - week+1+1;        for (int i=1; i<=7; i++) {                        NSLog(@"本周 星期%d :%d年%d月%d日 ",i,year,month,Monday);            Monday=Monday+1;        }            }



注:最后打印本周日期算是取得特殊值,还要考虑每个月份天数不同情况,以及某一周跨月情况处理;


运行结果: